/// <reference types="node" />
import { BFastOptions } from "../bfast-option";
import { Buffer } from "buffer";
interface IpfsOption {
    json?: boolean;
    start?: number;
    end?: number;
    stream?: boolean;
}
export declare class IpfsFactory {
    private static ipfs;
    private static instance;
    private constructor();
    static getInstance(options: BFastOptions): Promise<IpfsFactory>;
    generateCidFromData(data: {
        [k: string]: any;
    }, buffer: Buffer, domain: string, options: BFastOptions): Promise<{
        cid: string;
        size: number;
    }>;
    generateDataFromCid<T>(cid: string, ipfsOptions: IpfsOption, options: BFastOptions): Promise<T>;
    generateCidFromLocalIpfsNode(buffer: Buffer): Promise<{
        cid: string;
        size: number;
    }>;
    generateCidFromWeb3IpfsNode(buffer: Buffer, domain: string, data: {
        [k: string]: any;
    }, options: BFastOptions): Promise<{
        cid: import("web3.storage/dist/src/lib/interface").CIDString;
        size: number;
    }>;
    checkIfWeHaveCidInWeb3(cid: string, options: BFastOptions): Promise<boolean>;
}
export {};
