/**
 * Report storage abstraction.
 * Default implementation: local file system.
 * Can be replaced with database, S3, etc.
 */
import type { BatchEvaluationReport, EvaluationJob, EvaluationReport, JobStore, ReportDocument, ReportStore } from '../types/index.js';
/**
 * Create a file-system-based report store.
 */
export declare function createFileStore(dir: string): ReportStore;
export interface JobQuery {
    status?: string;
    reportId?: string;
    project?: string;
    owner?: string;
    tag?: string;
    limit?: number;
}
export declare function queryJobList(jobStore: JobStore, query?: JobQuery): Promise<EvaluationJob[]>;
export declare function queryJob(jobStore: JobStore, id: string): Promise<EvaluationJob | null>;
export interface RunListItem {
    id: string;
    kind: ReportDocument['kind'];
    meta: ReportDocument['meta'];
    summary?: EvaluationReport['summary'];
    items?: BatchEvaluationReport['items'];
}
export interface TrendPoint {
    reportId: string;
    timestamp: string;
    avgCompositeScore: number | null;
    avgNumTurns: number | null;
    avgCostPerSample: number | null;
    artifactHash: string | null;
    gitCommitShort: string | null;
    gitBranch: string | null;
}
export interface TrendQueryResult {
    variant: string;
    points: TrendPoint[];
    runs: EvaluationReport[];
}
export declare function queryRunList(reportStore: ReportStore): Promise<RunListItem[]>;
export declare function queryRun(reportStore: ReportStore, id: string): Promise<ReportDocument | null>;
export declare function queryTrend(reportStore: ReportStore, variantName: string): Promise<TrendQueryResult>;
//# sourceMappingURL=report-store.d.ts.map