export type SyncEvalResultsToClickhouseOptions = {
    batchSize?: number;
    maxBatches?: number;
};
export type SyncEvalResultsToClickhouseResult = {
    inserted: number;
    batches: number;
    rowsMissingTestRunLink: number;
};
/**
 * Copies all Postgres `eval_results` rows into ClickHouse `eval_results`, setting `test_run_id`
 * from `test_runs_to_evals` (first `test_run_id` per `eval_id` when multiple links exist).
 *
 * Not idempotent: a second run inserts duplicate rows unless ClickHouse deduplicates (e.g. ReplacingMergeTree).
 *
 * Selects only columns that exist in Postgres (`information_schema`) so older DBs without newer
 * columns (e.g. `session_id`, `trace_ids`) still sync; missing fields are sent as null/defaults to ClickHouse.
 */
export declare function syncEvalResultsFromPostgresToClickhouse(options?: SyncEvalResultsToClickhouseOptions): Promise<SyncEvalResultsToClickhouseResult>;
//# sourceMappingURL=evalResultsPostgresToClickhouseSync.d.ts.map