import OpenAI from 'openai';
import { EmbeddingProvider } from './EmbeddingProvider.js';
import { z } from 'zod';
declare const EmbeddingProviderOpenAIConfigSchema: z.ZodDefault<z.ZodObject<{
    model: z.ZodDefault<z.ZodEnum<["text-embedding-3-small", "text-embedding-3-large"]>>;
    client: z.ZodOptional<z.ZodType<OpenAI, z.ZodTypeDef, OpenAI>>;
}, "strip", z.ZodTypeAny, {
    model: "text-embedding-3-small" | "text-embedding-3-large";
    client?: OpenAI | undefined;
}, {
    model?: "text-embedding-3-small" | "text-embedding-3-large" | undefined;
    client?: OpenAI | undefined;
}>>;
type EmbeddingProviderOpenAIConfig = z.infer<typeof EmbeddingProviderOpenAIConfigSchema>;
/**
 * OpenAI implementation of the EmbeddingProvider
 */
export declare class EmbeddingProviderOpenAI implements EmbeddingProvider {
    private _client;
    private _dimensions;
    private _config;
    constructor(config?: EmbeddingProviderOpenAIConfig);
    getEmbedding(text: string): Promise<number[]>;
    getDimensions(): number;
    getName(): string;
    getModel(): string;
}
export {};
//# sourceMappingURL=EmbeddingProviderOpenAI.d.ts.map