/**
 * Request/response capture for debugging model interactions.
 * Records last N conversations through the proxy for inspection.
 */
export interface CapturedExchange {
    id: string;
    timestamp: string;
    model: string;
    durationMs: number;
    request: {
        messageCount: number;
        systemPromptLength: number;
        toolCount: number;
        streaming: boolean;
    };
    response: {
        statusCode: number;
        stopReason: string | null;
        textLength: number;
        toolCallCount: number;
        inputTokens?: number;
        outputTokens?: number;
    };
    error?: string;
}
export declare function recordExchange(exchange: CapturedExchange): void;
export declare function getCaptures(limit?: number): CapturedExchange[];
export declare function clearCaptures(): void;
export declare function getCaptureStats(): {
    totalExchanges: number;
    avgDurationMs: number;
    errorRate: number;
    modelBreakdown: Record<string, number>;
};
export declare function formatCaptures(exchanges: CapturedExchange[]): string;
