import type { GradingResult } from '../../../types';
/** Input row for denormalization (Postgres camelCase or ClickHouse snake_case). */
export type EvalResultDenormInput = {
    id: string;
    createdAt?: Date | string;
    created_at?: Date | string;
    updatedAt?: Date | string;
    evalId?: string;
    eval_id?: string;
    testIdx?: number;
    test_idx?: number;
    testCase?: Record<string, unknown>;
    test_case?: Record<string, unknown>;
    gradingResult?: GradingResult | null;
    grading_result?: GradingResult | null;
    metadata?: Record<string, unknown> | null;
    failureReason?: number;
    failure_reason?: number;
    error?: string | null;
    isRedteam?: number;
    is_redteam?: number;
    projectId?: string | null;
    project_id?: string | null;
    applicationId?: string | null;
    application_id?: string | null;
    workspaceId?: string | null;
    workspace_id?: string | null;
    traceId?: string | null;
    trace_id?: string | null;
    sessionId?: string | null;
    session_id?: string | null;
    traceIds?: string[] | null;
    trace_ids?: string[] | unknown | null;
    testRunId?: string | null;
    test_run_id?: string | null;
};
export type EvalResultAnalyticsRow = {
    evalResultId: string;
    createdAt: Date;
    projectId: string | null;
    applicationId: string | null;
    workspaceId: string | null;
    traceId: string | null;
    sessionId: string | null;
    traceIds: string[];
    isRedteam: number;
    testRunId: string | null;
    evalId: string | null;
    testIdx: number | null;
    failureReason: number;
    error: string | null;
    gradingPass: number;
    gradingScore: number;
    gradingReason: string | null;
    componentPassCount: number;
    componentFailCount: number;
    metricKeys: string[];
    failedMetricKeys: string[];
    pluginId: string | null;
    pluginPass: number | null;
    denormVersion: number;
};
export type EvalResultComponentRow = {
    id: string;
    evalResultId: string;
    componentIndex: number;
    assertionType: string | null;
    assertionDisplayLabel: string | null;
    metricKey: string | null;
    componentPass: number;
    componentScore: number;
    componentReason: string | null;
    assertionExpected: string | null;
    assertionActual: string | null;
    projectId: string | null;
    applicationId: string | null;
    workspaceId: string | null;
    createdAt: Date;
    traceId: string | null;
    sessionId: string | null;
    traceIds: string[];
    testRunId: string | null;
    evalId: string | null;
    isRedteam: number;
    failureReason: number;
    error: string | null;
    pluginId: string | null;
    denormVersion: number;
};
export type DenormalizeEvalResultOutput = {
    analytics: EvalResultAnalyticsRow;
    components: EvalResultComponentRow[];
};
export declare const EVAL_RESULTS_ANALYTICS_TABLE = "eval_results_analytics";
export declare const EVAL_RESULT_COMPONENTS_TABLE = "eval_result_components";
export declare const DENORM_VERSION_BACKFILL = 1;
export declare const DENORM_VERSION_LIVE = 2;
//# sourceMappingURL=types.d.ts.map