/** Hash-addressed mirrors tried after the committed URI: `/sha256/.jsonl`. */ export declare const DEFAULT_SNAPSHOT_MIRRORS: string[]; /** * Gateways for storage schemes that do not name a host. The on-chain `snapshot_uri` keeps the * scheme (for example `irys-devnet://`), so a gateway can change without touching old draws. */ export declare const SNAPSHOT_URI_GATEWAYS: Record; export declare const DEFAULT_SNAPSHOT_TIMEOUT_MS = 20000; export declare const DEFAULT_SNAPSHOT_MAX_BYTES: number; export type SnapshotSourceAttempt = { source: string; outcome: "ok" | "hash_mismatch" | "http_error" | "timeout" | "too_large" | "unsupported" | "error"; detail?: string; }; export declare class SnapshotUnavailableError extends Error { readonly code = "ERR_SNAPSHOT_UNAVAILABLE"; readonly attempts: SnapshotSourceAttempt[]; constructor(attempts: SnapshotSourceAttempt[]); } /** * Lists where a committed snapshot can be read, in order: the committed URI (through gateways for * host-less schemes), then hash-addressed mirrors. Every copy is still checked against the hash. */ export declare function snapshotSourceCandidates(opts: { snapshotUri: string; snapshotHash: string; mirrors?: string[]; gateways?: Record; }): string[]; /** * Reads the snapshot a draw committed to: an explicit local copy first, then the committed URI, * then hash-addressed mirrors. A source counts only if the SHA-256 of what it served equals the * committed snapshot hash; otherwise the next source is tried. Throws SnapshotUnavailableError, * with every attempt, when no source serves the committed bytes. */ export declare function fetchCommittedSnapshot(opts: { snapshotUri: string; snapshotHash: string; mirrors?: string[]; localFile?: string; gateways?: Record; timeoutMs?: number; maxBytes?: number; }): Promise<{ bytes: Buffer; source: string; attempts: SnapshotSourceAttempt[]; }>; //# sourceMappingURL=snapshot_source.d.ts.map