import { RiddleProofVisualSession, JsonValue, RiddleProofVisualSessionFingerprintBasis } from './types.js';
import './public-state.js';

declare const RIDDLE_PROOF_VISUAL_SESSION_VERSION: "riddle-proof.visual-session.v1";
declare const RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION: "riddle-proof.visual-session.fingerprint.v1";
interface BuildVisualProofSessionInput {
    run_id?: string;
    parent?: RiddleProofVisualSession | null;
    repo?: string;
    branch?: string;
    route?: string;
    observed_after_path?: string;
    reference?: string;
    verification_mode?: string;
    target_image_url?: string;
    target_image_hash?: string;
    viewport_matrix?: JsonValue;
    deterministic_setup?: JsonValue;
    proof_plan?: string;
    capture_script?: string;
    wait_for_selector?: string;
    assertions?: JsonValue;
    artifacts?: RiddleProofVisualSession["artifacts"];
    evidence?: RiddleProofVisualSession["evidence"];
    status?: string;
}
interface VisualProofSessionMismatch {
    key: string;
    expected: JsonValue | undefined;
    actual: JsonValue | undefined;
}
declare function visualSessionFingerprintBasis(input: BuildVisualProofSessionInput): RiddleProofVisualSessionFingerprintBasis;
declare function visualSessionFingerprint(input: BuildVisualProofSessionInput | RiddleProofVisualSessionFingerprintBasis): string;
declare function buildVisualProofSession(input: BuildVisualProofSessionInput): RiddleProofVisualSession;
declare function parseVisualProofSession(value: unknown): RiddleProofVisualSession;
declare function compareVisualProofSessionFingerprint(parent: RiddleProofVisualSession, input: BuildVisualProofSessionInput): VisualProofSessionMismatch[];

export { type BuildVisualProofSessionInput, RIDDLE_PROOF_VISUAL_SESSION_FINGERPRINT_VERSION, RIDDLE_PROOF_VISUAL_SESSION_VERSION, type VisualProofSessionMismatch, buildVisualProofSession, compareVisualProofSessionFingerprint, parseVisualProofSession, visualSessionFingerprint, visualSessionFingerprintBasis };
