import { IpfsNode, IpfsContentType } from '../../ipfs';
type WithCybFeaturesOptions = {
    swarmPeerId: string;
    swarmPeerAddress: string;
};
declare function withCybFeatures<TBase extends new (...args: any[]) => IpfsNode>(Base: TBase, options: WithCybFeaturesOptions): {
    new (...args: any[]): {
        fetchWithDetails(cid: string, parseAs?: IpfsContentType): Promise<{
            text?: string;
            type?: IpfsContentType;
            content?: string;
            link?: string;
            gateway: boolean;
            cid: string;
        }>;
        addContent(content: File | string): Promise<string>;
        isConnectedToSwarm(): Promise<boolean>;
        reconnectToSwarm(lastConnectedTimestamp?: number): Promise<void>;
        readonly nodeType: import("../../ipfs").IpfsNodeType;
        readonly config: import("../../ipfs").IpfsNodePrperties;
        readonly isStarted: boolean;
        init: (options?: import("../../ipfs").InitOptions) => Promise<void>;
        stop: () => Promise<void>;
        start: () => Promise<void>;
        cat: (cid: string, options?: import("../../ipfs").CatOptions) => AsyncIterable<Uint8Array>;
        stat: (cid: string, options?: import("../../ipfs").AbortOptions) => Promise<import("../../ipfs").IpfsFileStats>;
        add: (content: string | File, options?: import("../../ipfs").AbortOptions) => Promise<string>;
        pin: (cid: string, options?: import("../../ipfs").AbortOptions) => Promise<string>;
        ls: () => AsyncIterable<import("ipfs-core-types/dist/src/pin").LsResult>;
        getPeers: () => Promise<string[]>;
        connectPeer: (address: string) => Promise<boolean>;
        info: () => Promise<import("../../ipfs").IpfsNodeInfo>;
    };
} & TBase;
export { withCybFeatures };
