import { ConversationMessage } from "../../types";
import { AiResponse, AiRequestOptions, AiProvider } from "./interfaces";
export type { AiResponse, AiRequestOptions, AiProvider };
/**
 * Cost calculation result
 */
export interface CostResult {
    inputCost: number;
    outputCost: number;
    totalCost: number;
}
/**
 * Main AI service that orchestrates different providers
 */
export declare class AiService {
    private openAiProvider;
    private anthropicProvider;
    constructor(openAiApiKey?: string, anthropicApiKey?: string);
    /**
     * Check which providers are available
     */
    getAvailableProviders(): {
        openai: boolean;
        anthropic: boolean;
    };
    /**
     * Generate a response from a conversation history using the appropriate provider
     */
    generateResponse(messages: ConversationMessage[], options: AiRequestOptions): Promise<AiResponse>;
    /**
     * Calculate cost based on token usage
     */
    calculateCost(model: string, inputTokens: number, outputTokens: number): CostResult;
}
