import type { AssetLoadError, AssetPublicationTuple, PackV2, Result } from '@forgeax/engine-types'; export interface PackReaderOptions { readonly fetcher?: typeof globalThis.fetch; } export type VerifiedPack = PackV2; /** Freeze an owned value; never pass a mutable retained Pack to this helper. */ export declare function freezePackValue(value: T): T; export declare class PackReader { private readonly fetcher; private readonly lifetime; private readonly verified; private readonly pending; constructor(options?: PackReaderOptions); read(packageUrl: string, expected: AssetPublicationTuple, signal: AbortSignal, fetcher?: typeof globalThis.fetch): Promise>; dispose(): void; private fetchAndVerify; private key; verify(value: unknown, expected: AssetPublicationTuple): Result; } /** Complete Pack validation without freezing or retaining the caller's mutable input. */ export declare function validatePackEnvelope(value: unknown, expected: AssetPublicationTuple): Result; //# sourceMappingURL=pack-reader.d.ts.map