export type Provider = 'anthropic' | 'openai';
export interface ModelConfig {
    provider: Provider;
    modelId: string;
    maxTokens?: number;
    temperature?: number;
}
export interface Message {
    role: 'system' | 'user' | 'assistant';
    content: string;
}
export interface AIClientConfig {
    defaultProvider?: Provider;
    defaultModel?: string;
    anthropicApiKey?: string;
    openaiApiKey?: string;
}
export interface CompletionOptions {
    model?: string;
    provider?: Provider;
    maxTokens?: number;
    temperature?: number;
    responseFormat?: 'text' | 'json';
    topP?: number;
    frequencyPenalty?: number;
    presencePenalty?: number;
    stop?: string[];
    seed?: number;
}
export declare class AIError extends Error {
    provider: Provider;
    statusCode?: number | undefined;
    raw?: any | undefined;
    constructor(message: string, provider: Provider, statusCode?: number | undefined, raw?: any | undefined);
}
export declare enum AIErrorCode {
    INVALID_API_KEY = "invalid_api_key",
    RATE_LIMIT = "rate_limit",
    CONTEXT_LENGTH = "context_length",
    BAD_REQUEST = "bad_request",
    SERVER_ERROR = "server_error",
    TIMEOUT = "timeout"
}
