import type { Budget } from "../interp/budget.js"; import type { ParseResult } from "../parse/parser.js"; export type SnapshotValidationCode = "budgetExceeded" | "danglingReference" | "duplicateId" | "invalidCycle" | "invalidState" | "invalidType" | "invalidValue" | "unknownTag" | "unsupportedVersion"; export declare class SnapshotValidationError extends Error { readonly code: SnapshotValidationCode; readonly path: string; constructor(code: SnapshotValidationCode, path: string, detail: string); } export declare function validateDumpEnvelope(snapshot: unknown): asserts snapshot is Record; export declare function validateInterpreterSnapshot(snapshot: unknown, nodeById: ReadonlyMap, budget: Budget): asserts snapshot is Record; export declare function validateSnapshotSourceHash(snapshot: unknown): asserts snapshot is { sourceHash: string; };