import { Observable } from 'rxjs';
import { IDeferredDbSaver } from '../../../QueueManager/types';
import { IPFSContent, IPFSContentMaybe } from '../../../ipfs/ipfs';
import { v4 as uuidv4 } from 'uuid';
import { ParticleCid } from '../../../types/base';
import DbApi from '../dataSource/indexedDb/dbApiWrapper';
import { LinkDto } from '../../../CozoDb/types/dto';
type QueueItem = {
    content?: IPFSContent;
    links?: LinkDto[];
};
type QueueMap = Map<ParticleCid | typeof uuidv4, QueueItem>;
declare class DeferredDbSaver implements IDeferredDbSaver {
    private queue$;
    private dbApi;
    get queue(): QueueMap;
    constructor(dbInstance$: Observable<DbApi | undefined>);
    enqueueIpfsContent(content: IPFSContentMaybe): void;
    enqueueLinks(links: LinkDto[]): void;
    private processQueue;
    private processQueueItem;
}
export default DeferredDbSaver;
