import { AIProviderConfig, TextCompletionOptions, ChatCompletionOptions, EmbeddingOptions, TextCompletionResult, ChatCompletionResult, EmbeddingResult, AIModelInfo } from '../interfaces/ai.interfaces';
export declare class OpenAIService {
    private readonly logger;
    private readonly client;
    private readonly defaultModel;
    constructor(config: AIProviderConfig);
    listModels(): Promise<AIModelInfo[]>;
    getModel(modelId: string): Promise<AIModelInfo>;
    createCompletion(prompt: string, options?: TextCompletionOptions): Promise<TextCompletionResult>;
    createChatCompletion(options: ChatCompletionOptions): Promise<ChatCompletionResult>;
    createEmbedding(input: string | string[], options?: EmbeddingOptions): Promise<EmbeddingResult>;
    estimateTokenCount(text: string): number;
    private getModelContextLength;
    private supportsFunctionCalling;
}
