import { LogSyncer } from './log-syncer.js';
import { StateManipulator } from './state-manipulator.js';
import { AnchorTimestampExtractor } from './anchor-timestamp-extractor.js';
import { CeramicCommit, DiagnosticsLogger, StreamState } from '@ceramicnetwork/common';
import { StreamID } from '@ceramicnetwork/streamid';
import { CID } from 'multiformats/cid';
declare type EventStorer = {
    storeEvent(data: any, streamId: StreamID): Promise<CID>;
};
export declare class StreamUpdater {
    private readonly logger;
    private readonly commitStorer;
    private readonly logSyncer;
    private readonly anchorTimestampExtractor;
    private readonly stateManipulator;
    constructor(logger: DiagnosticsLogger, commitStorer: EventStorer, logSyncer: LogSyncer, anchorTimestampExtractor: AnchorTimestampExtractor, stateManipulator: StateManipulator);
    applyTipFromNetwork(state: StreamState, tip: CID): Promise<StreamState>;
    applyCommitFromUser(state: StreamState, commit: CeramicCommit): Promise<StreamState>;
}
export {};
//# sourceMappingURL=stream-updater.d.ts.map