import mongoose, { Document } from 'mongoose';
export interface BrainsSessionDocument extends Document {
    _id: string;
    userId: string;
    apiKeyId: string;
    request: {
        question: string;
        temperature?: number;
        maxTokens?: number;
        enableWebSearch?: boolean;
    };
    modelInteractions: [
        {
            modelId: 'o3' | 'claude-opus-4' | 'deepseek-chat' | 'gemini-2.5-pro' | 'grok-3';
            provider: string;
            inputTokens: number;
            outputTokens: number;
            thinkingTokens: number;
            totalTokens: number;
            cost: number;
            costBreakdown: {
                inputCost: number;
                outputCost: number;
                thinkingCost: number;
            };
            latency: number;
            success: boolean;
            errorMessage?: string;
            fullResponse: string;
            timestamp: string;
            requestMetadata: mongoose.Schema.Types.Mixed;
        }
    ];
    brainsResults: {
        htmlReportPath?: string;
        htmlReportUrl?: string;
        summaryGenerated: boolean;
        aggregatedStats: {
            totalInputTokens: number;
            totalOutputTokens: number;
            totalThinkingTokens: number;
            totalTokens: number;
            averageLatency: number;
            successfulModels: number;
            failedModels: number;
        };
        costBreakdown: {
            totalInputCost: number;
            totalOutputCost: number;
            totalThinkingCost: number;
        };
    };
    totalCost: number;
    duration: number;
    status: 'processing' | 'success' | 'partial' | 'error' | 'timeout';
    balanceUpdate: any;
    clientMetadata: any;
    createdAt: Date;
    updatedAt: Date;
}
export declare function createBrainsSessionModel(connection: mongoose.Connection): mongoose.Model<BrainsSessionDocument, {}, {}, {}, mongoose.Document<unknown, {}, BrainsSessionDocument, {}> & BrainsSessionDocument & Required<{
    _id: string;
}> & {
    __v: number;
}, any>;
//# sourceMappingURL=BrainsSession.d.ts.map