import { ProxyMarked } from 'comlink';
import { CybIpfsNode, IpfsContentType, IpfsOptsType } from '../../../ipfs/ipfs';
import QueueManager from '../../../QueueManager/QueueManager';
import { QueueItemCallback, QueueItemOptions } from '../../../QueueManager/types';
import { LinkDto } from '../../../CozoDb/types/dto';
import { SyncServiceParams } from '../../services/sync/types';
import DbApi from '../../services/dataSource/indexedDb/dbApiWrapper';
declare const backgroundWorker: {
    init: (dbApiProxy: DbApi & ProxyMarked) => Promise<void>;
    isInitialized: () => boolean;
    ipfsApi: {
        start: (ipfsOpts: IpfsOptsType) => Promise<boolean>;
        stop: () => Promise<void>;
        getIpfsNode: () => Promise<CybIpfsNode & ProxyMarked>;
        config: () => Promise<import("../../../ipfs/ipfs").IpfsNodePrperties>;
        info: () => Promise<import("../../../ipfs/ipfs").IpfsNodeInfo>;
        fetchWithDetails: (cid: string, parseAs?: IpfsContentType) => Promise<{
            text?: string;
            type?: IpfsContentType;
            content?: string;
            link?: string;
            gateway: boolean;
            cid: string;
        }>;
        enqueue: (cid: string, callback: QueueItemCallback, options: QueueItemOptions) => Promise<void>;
        enqueueAndWait: (cid: string, options?: QueueItemOptions) => Promise<import("../../../QueueManager/types").QueueItemAsyncResult>;
        dequeue: (cid: string) => Promise<void>;
        dequeueByParent: (parent: string) => Promise<void>;
        clearQueue: () => Promise<void>;
        addContent: (content: string | File) => Promise<string>;
    } & ProxyMarked;
    defferedDbApi: {
        importCyberlinks: (links: LinkDto[]) => void;
    } & ProxyMarked;
    ipfsQueue: QueueManager & ProxyMarked;
    setParams: (params: Partial<SyncServiceParams>) => void;
};
export type BackgroundWorker = typeof backgroundWorker;
export {};
