import { AsyncReadable, AbsolutePath, RangeQuery } from "zarrita"; import { CID, hasher } from "multiformats"; import * as zarr from "zarrita"; import { IPFSELEMENTS_INTERFACE } from "./ipfs-elements"; export declare function openExperimentalV3Consolidated(store: Store): Promise | zarr.Group>>; export declare function extractBits(hashBytes: Uint8Array, depth: number, nbits: number): number; export declare const blake3: hasher.Hasher<"blake3", 30>; export declare class HamtStore implements AsyncReadable { cid: CID; ipfsElements: IPFSELEMENTS_INTERFACE; private cache; private readonly maxCacheSize; metadata: any; private metadataKeysCache?; private metadataLoadPromise?; constructor(cid: any, ipfsElements: IPFSELEMENTS_INTERFACE); private normalizeKey; private hashFn; private writeNode; private readNode; private maintainCacheSize; /** * A reusable private method to traverse the HAMT and find the bucket for a given key. * This encapsulates the common logic of both `findCIDForKey` and `findItemInNode`. * @param {string} inputKey - The key to search for. * @returns {Promise<{ bucket: Record; normalizedKey: string }>} - An object containing the found bucket and the normalized key. * @private */ private findBucket; /** * Find the CID for a given key in the HAMT structure. * @param {string} inputKey - The key for which to find the CID. * @returns {Promise} - The CID associated with the key. */ findCIDForKey(inputKey: string): Promise; /** * Finds the raw value (as a Uint8Array) for a given item in the HAMT. * @param {string} itemKey - The key of the item to find. * @returns {Promise} - The value as a Uint8Array. */ findItemInNode(itemKey: string): Promise; /** Fetch item data, with optional range support */ private fetchItem; /** Get the size of an item based on its CID */ private getItemSize; private ensureMetadataLoaded; /** Fetch entire item for a key */ get(key: AbsolutePath): Promise; /** Fetch a byte range for a key */ getRange(key: AbsolutePath, range: RangeQuery): Promise; listMetadataKeys(): Promise; } //# sourceMappingURL=hamt-store.d.ts.map