interface MerkleizeResult { carBytes: Uint8Array; cid: string; } interface MerkleizeStableResult extends MerkleizeResult { blockOrder: string[]; stableOrder: string[]; chunks: Uint8Array[]; chunkCids: string[]; section1ChunkCids: string[]; sectionSizes: { section0: number; section1: number; section2: number; }; sectionChunkCounts: { section0: number; section1: number; section2: number; }; /** All DAG blocks from the merkleize backend: cid → block bytes. */ blocks: Map; /** File path → user-facing CID (leaf for single-block, dag-pb root for multi-block). */ fileCids: Map; } interface MerkleizeOutput { rootCid: string; blocks: Map; fileBlocks: Map; fileCids: Map; rootBlockCids: string[]; subdirCids: string[]; } declare function merkleizeJSBackend(directoryPath: string): Promise; declare function merkleizeKuboBackend(directoryPath: string): Promise; declare function merkleizeBackend(directoryPath: string, useKubo: boolean, phase?: string): Promise; interface BuildOrderedCarOptions { output: MerkleizeOutput; classifyFn?: (filePath: string, fileCid?: string) => "stable" | "volatile"; prevStableOrder?: string[]; phase?: string; } declare function buildOrderedCar(options: BuildOrderedCarOptions): Promise; declare function rebuildOrderedCarFromBytes(carBytes: Uint8Array, prevStableOrder?: string[]): Promise; declare function merkleizeWithStableOrder(directoryPath: string, prevStableOrder?: string[], options?: { useKubo?: boolean; classifyFn?: (filePath: string, fileCid?: string) => "stable" | "volatile"; phase?: string; }): Promise; declare function merkleizeJS(directoryPath: string): Promise; export { type BuildOrderedCarOptions, type MerkleizeOutput, type MerkleizeResult, type MerkleizeStableResult, buildOrderedCar, merkleizeBackend, merkleizeJS, merkleizeJSBackend, merkleizeKuboBackend, merkleizeWithStableOrder, rebuildOrderedCarFromBytes };