/**
 * Portable verification evidence records — commands, test results, CI links,
 * artifact refs, verifier identity, timestamps, confidence. Local-only storage.
 */
import type { Database } from "bun:sqlite";
import { type VerificationProviderStatus, type VerificationRecordResult } from "./verification-providers.js";
export declare const VERIFICATION_EVIDENCE_SCHEMA = "todos.verification_evidence.v1";
export interface VerificationCommandEntry {
    command: string;
    exit_code?: number;
    duration_ms?: number;
    stdout_ref?: string;
    stderr_ref?: string;
}
export interface VerificationTestResult {
    name: string;
    status: "passed" | "failed" | "skipped";
    duration_ms?: number;
    message?: string;
}
export interface VerificationLinkRef {
    label: string;
    url: string;
    kind?: "ci" | "deploy" | "pr" | "log" | "other";
}
export interface PortableVerificationEvidence {
    schema_version: typeof VERIFICATION_EVIDENCE_SCHEMA;
    id: string;
    task_id: string | null;
    run_record_id: string | null;
    agent_id: string | null;
    provider_name: string;
    provider_type: string;
    status: VerificationProviderStatus;
    summary: string;
    confidence: number | null;
    commands: VerificationCommandEntry[];
    test_results: VerificationTestResult[];
    links: VerificationLinkRef[];
    artifact_ids: string[];
    log_excerpt: string | null;
    screenshot_paths: string[];
    verifier: {
        agent_id: string | null;
        session_id: string | null;
        machine_id: string | null;
    };
    started_at: string;
    completed_at: string | null;
    created_at: string;
    metadata: Record<string, unknown>;
}
export interface CreateVerificationEvidenceInput {
    task_id?: string;
    run_record_id?: string;
    agent_id?: string;
    session_id?: string;
    provider_name?: string;
    provider_type?: string;
    status: VerificationProviderStatus;
    summary: string;
    confidence?: number;
    commands?: VerificationCommandEntry[];
    test_results?: VerificationTestResult[];
    links?: VerificationLinkRef[];
    artifact_ids?: string[];
    log_excerpt?: string;
    screenshot_paths?: string[];
    evidence_paths?: string[];
    metadata?: Record<string, unknown>;
}
export interface VerificationExportBundle {
    schema_version: typeof VERIFICATION_EVIDENCE_SCHEMA;
    exported_at: string;
    task_id: string | null;
    run_record_id: string | null;
    records: PortableVerificationEvidence[];
}
export declare function toPortableEvidence(record: VerificationRecordResult): PortableVerificationEvidence;
export declare function createVerificationEvidence(input: CreateVerificationEvidenceInput, db?: Database): PortableVerificationEvidence;
export declare function listVerificationEvidence(filter?: {
    task_id?: string;
    run_record_id?: string;
    agent_id?: string;
    limit?: number;
}, db?: Database): PortableVerificationEvidence[];
export declare function getVerificationEvidence(id: string, db?: Database): PortableVerificationEvidence | null;
export declare function exportVerificationEvidence(filter?: {
    task_id?: string;
    run_record_id?: string;
}, db?: Database): VerificationExportBundle;
export declare function writeVerificationExport(bundle: VerificationExportBundle, path: string): void;
//# sourceMappingURL=verification-evidence.d.ts.map