/// <reference types="node" />
export declare class IPFS<MapTypes extends Record<string, any>, T extends Array<keyof MapTypes>> {
    private key;
    private IDL;
    private endpoint;
    private provider;
    constructor(key: string, IDL: T, endpoint?: string);
    decodeCID: (digest: string | Buffer | Uint8Array | number[]) => string;
    get methods(): { [x in T[number]]: {
        get: (digest: string | Buffer | Uint8Array | number[]) => Promise<MapTypes[x]>;
        set: (data: MapTypes[x]) => Promise<{
            cid: string;
            digest: Uint8Array;
        }>;
    }; };
    private set;
    private get;
}
