type Provider = 'xenova' | 'openai';
interface EmbeddingServiceOptions {
    provider: Provider;
    openaiApiKey?: string;
}
export declare class EmbeddingCache {
    private storageKey;
    private memoryCache;
    constructor(storageKey: string);
    get(text: string): number[] | null;
    set(text: string, embedding: number[]): void;
    clear(): void;
    getAll(): Record<string, number[]>;
}
export declare class EmbeddingService {
    private extractor;
    private storageKey;
    private provider;
    private openaiApiKey?;
    private cache;
    constructor(options: EmbeddingServiceOptions);
    private initModel;
    embed(text: string): Promise<number[]>;
    private embedWithOpenAI;
    refreshModel: () => Promise<void>;
    clearCache: () => void;
    getCache: () => Record<string, number[]>;
    embedBatch(texts: string[]): Promise<number[][]>;
}
export {};
//# sourceMappingURL=embedding-service.d.ts.map