import { StreamID } from '@ceramicnetwork/streamid';
import { CID } from 'multiformats/cid';
import { UnappliableStreamLog } from '@ceramicnetwork/common';
declare type IpfsCommitLoader = {
    retrieveCommit(cid: CID | string, streamId: StreamID): Promise<any>;
    retrieveFromIPFS(cid: CID | string, path?: string): Promise<any>;
};
export declare class LogSyncer {
    private readonly ipfsLoader;
    constructor(ipfsLoader: IpfsCommitLoader);
    syncFullLog(streamID: StreamID, tip: CID | null): Promise<UnappliableStreamLog>;
    _syncGenesisLog(streamID: StreamID): Promise<UnappliableStreamLog>;
    syncLogUntilMatch(streamID: StreamID, tip: CID, existingCommits: Array<CID>): Promise<UnappliableStreamLog>;
    private _syncLogHelper;
    private _logIncludes;
}
export {};
//# sourceMappingURL=log-syncer.d.ts.map