# Protocols

The following declarations are available globally.
- `
  ### [EmbeddingProvider](https://developers.google.com/edge/api/mediapipe/swift/retrieval/Protocols/EmbeddingProvider.md.txt)

  ` Protocol for generating embeddings across different modalities using task content parts.

  #### Declaration

  Swift

      protocol EmbeddingProvider: NSObjectProtocol

- `
  ### [TextChunker](https://developers.google.com/edge/api/mediapipe/swift/retrieval/Protocols/TextChunker.md.txt)

  ` A protocol that users can implement to supply their own custom text chunker.

  #### Declaration

  Swift

      protocol TextChunker: NSObjectProtocol

- `
  ### [VectorStore](https://developers.google.com/edge/api/mediapipe/swift/retrieval/Protocols/VectorStore.md.txt)

  ` A protocol that defines the storage backend for semantic retriever.

  #### Declaration

  Swift

      protocol VectorStore: NSObjectProtocol