import { CID } from 'multiformats/cid'; import type { Applog, ApplogArrayMaybeEncryptedRO, ApplogArrayNoCIDMaybeEncryptedRO } from '../applog/datom-types.ts'; import { BlockStoreish } from '../ipfs/car.ts'; import { ApplogsOrThread, Thread } from '../thread.ts'; import type { AppAgent, IShare, SnapBlockChunks, SnapBlockLogsOrChunks } from './pubsub-types.ts'; export declare function prepareSnapshotForPush(agent: AppAgent, appThread: Thread, threadToPublish: ApplogsOrThread, share: IShare, prevSnapCID: CID | null, prevCounter: number | null): Promise<{ cid: CID; blob: Blob; blocks: import("multiformats").BlockView[]; infoLogCids: CID[]; applogCids: CID[]; }>; /** * @param applogs Encrypted or plain applogs * @returns Car file */ export declare function encodeSnapshotAsCar(agent: AppAgent, applogs: ApplogArrayNoCIDMaybeEncryptedRO, infoLogs: readonly Applog[], prevSnapCID: CID | null, prevCounter: number | null): Promise<{ cid: CID; blob: Blob; blocks: import("multiformats").BlockView[]; infoLogCids: CID[]; applogCids: CID[]; }>; /** (i) IPFS has a block size limit of 1MB - which is about 15K CIDs */ export declare function chunkApplogs(applogCids: CID[], size?: number): Promise<{ rootCID: any; blocks: any[]; chunks?: undefined; } | { rootCID: CID; blocks: any[]; chunks: any[]; }>; export declare function unchunkApplogsBlock(block: SnapBlockLogsOrChunks | null | undefined, blockStore: BlockStoreish): Promise; export declare function isSnapBlockChunks(block: SnapBlockLogsOrChunks | null | undefined): block is SnapBlockChunks; /** * @param applogs Encrypted or plain applogs * @returns Car file */ export declare function encodeSnapshotApplogsAsCar(applogs: ApplogArrayMaybeEncryptedRO): Promise; //# sourceMappingURL=snap-push.d.ts.map