type DatabaseSyncConstructor = typeof import('node:sqlite').DatabaseSync; export interface TelemetryRunRecord { id: string; session_file: string | null; cwd: string; started_at: number; model_provider: string | null; model_id: string | null; eval_run_id: string | null; eval_case_id: string | null; eval_attempt: number | null; eval_suite: string | null; } export interface TelemetryRunFinish { id: string; ended_at: number; success: boolean | null; error_message: string | null; } export interface TelemetryTurnRecord { id: string; run_id: string; turn_index: number; started_at: number; } export interface TelemetryTurnFinish { id: string; ended_at: number; tool_result_count: number; stop_reason: string | null; } export interface TelemetryToolCallRecord { tool_call_id: string; run_id: string; turn_id: string | null; tool_name: string; started_at: number; args_summary_json: string | null; } export interface TelemetryToolCallFinish { tool_call_id: string; ended_at: number; is_error: boolean; result_summary_json: string | null; error_message: string | null; } export interface TelemetryProviderRequestRecord { id: string; run_id: string; turn_id: string | null; started_at: number; payload_summary_json: string | null; } export interface TelemetryProviderRequestFinish { id: string; ended_at: number; status_code: number; headers_json: string | null; } export interface TelemetryStats { runs: number; turns: number; tool_calls: number; provider_requests: number; schema_version: number; db_bytes: number; wal_bytes: number; total_bytes: number; } export interface TelemetryQueryFilters { eval_run_id?: string; eval_case_id?: string; eval_suite?: string; success?: boolean | null; limit?: number; } export interface TelemetryRunSummary { id: string; session_file: string | null; cwd: string; started_at: number; ended_at: number | null; duration_ms: number | null; model_provider: string | null; model_id: string | null; eval_run_id: string | null; eval_case_id: string | null; eval_attempt: number | null; eval_suite: string | null; success: boolean | null; error_message: string | null; turn_count: number; tool_call_count: number; tool_error_count: number; provider_request_count: number; } export declare class TelemetryDatabase { private db; private db_path; private stmt_insert_run; private stmt_finish_run; private stmt_insert_turn; private stmt_finish_turn; private stmt_insert_tool_call; private stmt_tool_call_update; private stmt_finish_tool_call; private stmt_insert_provider_request; private stmt_finish_provider_request; static open(db_path: string): Promise; constructor(DatabaseSyncCtor: DatabaseSyncConstructor, db_path: string); insert_run(record: TelemetryRunRecord): void; finish_run(record: TelemetryRunFinish): void; insert_turn(record: TelemetryTurnRecord): void; finish_turn(record: TelemetryTurnFinish): void; insert_tool_call(record: TelemetryToolCallRecord): void; note_tool_update(tool_call_id: string): void; finish_tool_call(record: TelemetryToolCallFinish): void; insert_provider_request(record: TelemetryProviderRequestRecord): void; finish_provider_request(record: TelemetryProviderRequestFinish): void; private write; private get_user_version; private apply_migrations; query_runs(filters?: TelemetryQueryFilters): TelemetryRunSummary[]; get_stats(): TelemetryStats; read_rows>(query: string): T[]; close(): void; } export {};