/** A content-addressed id for a binary resource held in a {@link ResourceStore}. */ export type ResourceId = string & { readonly __brand: 'resource-id'; }; /** * A content-addressed store for the IR's binary payloads (images, fonts). IR * trees stay pure JSON and reference bytes by {@link ResourceId}; ids derive * from the bytes (a synchronous 64-bit FNV-1a), so identical payloads * deduplicate for free and equal documents get equal ids — which keeps IR-level * diffs and the byte-identical gates meaningful. */ export declare class ResourceStore { private readonly byId; /** * Store bytes and return their content-addressed id. Re-putting identical * bytes returns the existing id (deduplication); a hash collision with * different bytes probes deterministic `~n` suffixes. */ put(bytes: Uint8Array): ResourceId; /** Look up the bytes for an id, or `undefined` when absent. */ get(id: ResourceId): Uint8Array | undefined; /** Whether an id is present in the store. */ has(id: ResourceId): boolean; /** All stored ids, in insertion order. */ ids(): ReadonlyArray; /** The number of distinct resources stored. */ get size(): number; }