import type { Database } from "../../shared/sqlite";
export interface EmbeddingMeasurementInput {
    sessionId: string;
    projectPath: string;
    queryText: string;
    cohortKey: string;
    primaryResultIds: readonly string[];
    shadowResultIds: readonly string[];
    primaryLatencyMs: number | null;
    shadowLatencyMs: number | null;
    primaryFailed: boolean;
    shadowFailed: boolean;
    primaryModelId: string;
    shadowModelId: string;
    primaryFingerprint: string;
    shadowFingerprint: string;
    primaryEpoch: number;
    shadowEpoch: number;
    corpusHash: string;
    coverage: Record<string, unknown>;
}
export interface EmbeddingMeasurementRow {
    id: number;
    session_id: string;
    project_path: string;
    dedup_key: string;
    cohort_key: string;
    query_text_hash: string;
    primary_result_ids_json: string;
    shadow_result_ids_json: string;
    primary_latency_ms: number | null;
    shadow_latency_ms: number | null;
    primary_failed: number;
    shadow_failed: number;
    primary_model_id: string;
    shadow_model_id: string;
    primary_fingerprint: string;
    shadow_fingerprint: string;
    primary_epoch: number;
    shadow_epoch: number;
    corpus_hash: string;
    coverage_json: string;
    created_at: number;
}
export declare function normalizedQueryHash(query: string): string;
export declare function recordEmbeddingMeasurement(db: Database, input: EmbeddingMeasurementInput): boolean;
export declare function listEmbeddingMeasurements(db: Database, sessionId: string): EmbeddingMeasurementRow[];
export interface SynapseBatchLedgerInput {
    sessionId: string;
    projectPath: string;
    scope: "memory" | "commit" | "chunk";
    manifest: readonly {
        id: string;
        contentSha256: string;
    }[];
    requestKey: string;
}
export declare function beginSynapseBatchLedger(db: Database, input: SynapseBatchLedgerInput): void;
export declare function finishSynapseBatchLedger(db: Database, sessionId: string, requestKey: string, status: "complete" | "partial" | "failed"): void;
//# sourceMappingURL=storage-embedding-measurements.d.ts.map