import { type ReadLedgerV3Result } from "../events/v3/index.js"; import type { RunQualityCorpusCategoryV3, RunQualityEvidenceEvent, RunQualityRoleWait } from "./types.js"; export type RunQualityLiveEpochStateV3 = "candidate" | "active"; export interface RunQualityLiveGenerationV3 { instance_id: string; session_id: string; generation_id: string; adapter: string; events: RunQualityEvidenceEvent[]; corpus_categories: RunQualityCorpusCategoryV3[]; role_wait: RunQualityRoleWait; evidence: { first_event_id?: string; last_event_id?: string; window_started_at?: string; window_ended_at?: string; segment: string; truncated: boolean; }; sufficient_history: boolean; } export interface RunQualityLiveSourceV3 { contract_major: 3; genesis_id: string; epoch_state: RunQualityLiveEpochStateV3; generations: RunQualityLiveGenerationV3[]; } export declare class RunQualityLiveSourceV3Error extends Error { readonly code: "control_not_ready" | "ledger_integrity_failure"; readonly details: string[]; constructor(code: "control_not_ready" | "ledger_integrity_failure", details: string[]); } /** * Read live advisory inputs from the validated V3 ledger. Candidate epochs are * observable here for rehearsal, but corpus eligibility remains active-only. */ export declare function readRunQualityLiveSourceV3(coordRoot: string, now?: Date): RunQualityLiveSourceV3; /** Pure projection used by the live coordinator and replay-equivalence tests. */ export declare function projectRunQualityLiveSourceV3(read: ReadLedgerV3Result, genesisId: string, epochState: RunQualityLiveEpochStateV3, now: Date): RunQualityLiveSourceV3; //# sourceMappingURL=live-source-v3.d.ts.map