import type { JsonObject } from '../../types.ts';
/**
 * The state as a JSON-safe manifest plus the bytes it referenced.
 *
 * The manifest IS the state, minus the four keys that hold bytes: those
 * are rewritten with blob references and everything else rides through
 * untouched. It is built that way round on purpose. An allowlist of keys
 * silently dropped whatever it forgot from every tar snapshot while
 * leaving in-memory snapshots (which never pass through here) green,
 * which is exactly how installed CLIs went missing. A disk mount's files
 * ride as host paths, read only when the tar is written.
 */
export declare function splitManifestAndBlobs(state: JsonObject): [JsonObject, Record<string, Uint8Array | string>];
export declare function resolveManifest(manifest: unknown, blobReader: (path: string) => Uint8Array): unknown;
//# sourceMappingURL=manifest.d.ts.map