import type { CompiledGraph } from "./graph.js"; import { type FailureCategory, type FailureEvidence, type RecoveryAuthority } from "./recovery.js"; import { type GraphExecutionState } from "./scheduler.js"; export interface SchedulerRecoveryAnchor { version: 1; runId: string; graphDigest: string; graphVersion: string; schedulerRevision: number; eventSequence: number; eventId: string; eventHash: string; eventChainHash: string; limitsFingerprint: string; nodeId: string; nodeVisit: number; nodeAttempt: number; activePlanVersion: number; activePlanHash: string; failureLineageId: string; } export interface SchedulerRecoveryBinding { version: 1; anchor: Readonly; authority: Readonly; } export interface SchedulerFailureObservation { category: FailureCategory; contractViolation?: FailureEvidence["contractViolation"]; contractId?: string; artifactHashes?: readonly string[]; } export declare function createSchedulerRecoveryBinding(graph: CompiledGraph, stateValue: Readonly, input: { nodeId: string; activePlanVersion: number; activePlanHash: string; ledgerAuthority?: Readonly; }): SchedulerRecoveryBinding; export declare function validateSchedulerRecoveryBinding(value: unknown): SchedulerRecoveryBinding; export declare function assertSchedulerRecoveryAnchor(graph: CompiledGraph, stateValue: Readonly, bindingValue: SchedulerRecoveryBinding): void; export declare function schedulerFailureEvidence(graph: CompiledGraph, bindingValue: SchedulerRecoveryBinding, attempt: number, observation: SchedulerFailureObservation): FailureEvidence;