import { type EmbeddingProvider } from '../spi/embedding-provider.js';
import type { Passage, RetrievalResult, RetrieveOptions, Retriever } from '../spi/retriever.js';
import type { VectorStore } from './vector-store.js';
/**
 * Bridges an {@link EmbeddingProvider} + {@link VectorStore} into the {@link Retriever} SPI: embed the
 * query, then vector-search. This is what you wire as the agent's `retriever` (via the `retrievers`
 * factory namespace) for inject-mode retrieval. Mirrors the reference `EmbeddingRetriever` exactly.
 */
export declare class EmbeddingRetriever implements Retriever {
    private readonly embedder;
    private readonly store;
    constructor(embedder: EmbeddingProvider, store: VectorStore);
    retrieve(query: string, options?: RetrieveOptions): Promise<Passage[]>;
    /**
     * O caminho real; `retrieve` é o mesmo sem a conta. Os dois existem porque o `Retriever` SPI
     * promete `retrieve`, e quebrar essa promessa obrigaria todo retriever de terceiro a mudar por
     * uma capacidade que nem todo retriever tem.
     */
    retrieveWithUsage(query: string, options?: RetrieveOptions): Promise<RetrievalResult>;
}
//# sourceMappingURL=embedding-retriever.d.ts.map