import { CodenameContainer } from 'cartonne';
import type { BlockCodec, CID } from 'multiformats';
export declare const IPFS_CACHE_HIT = "ipfs_cache_hit";
export declare const IPFS_CACHE_MISS = "ipfs_cache_miss";
declare type CacheEntry = {
    record: unknown;
    block: Uint8Array;
};
export declare class IPLDRecordsCache {
    readonly codecs: CodenameContainer<BlockCodec<any, any>>;
    private readonly cache;
    constructor(capacity: number);
    set(cid: CID, entry: CacheEntry): void;
    setRecord(cid: CID, record: unknown): void;
    setBlock(cid: CID, bytes: Uint8Array): void;
    get(cid: CID): CacheEntry | undefined;
    setWithResolutionPath(query: string, entry: CacheEntry): void;
    getWithResolutionPath(query: string): CacheEntry | undefined;
}
export {};
//# sourceMappingURL=ipld-records-cache.d.ts.map