import { AIModelConfig } from '../types/config.js';
type generationOptions = {
    systemPrompt?: string;
    onChunk?: (chunk: string, firstChunk?: boolean) => void;
};
export interface AIModel {
    generateSuggestions(prompt: string, options?: generationOptions): Promise<string>;
    getConfig(): AIModelConfig;
}
export declare class OpenAIModel implements AIModel {
    private client;
    private config;
    constructor(config: AIModelConfig);
    generateSuggestions(prompt: string, options?: generationOptions): Promise<string>;
    getConfig(): AIModelConfig;
}
export declare class AnthropicModel implements AIModel {
    private client;
    private config;
    constructor(config: AIModelConfig);
    generateSuggestions(prompt: string, options?: generationOptions): Promise<string>;
    getConfig(): AIModelConfig;
}
export declare class GeminiModel implements AIModel {
    private client;
    private config;
    constructor(config: AIModelConfig);
    generateSuggestions(prompt: string, options?: generationOptions): Promise<string>;
    getConfig(): AIModelConfig;
}
export declare function createAIModel(config: AIModelConfig): AIModel;
export {};
//# sourceMappingURL=models.d.ts.map