import TypedEmitter from 'typed-emitter'; import { DidString, HandleString } from '@atproto/syntax'; import { AccountStatus } from '../account-manager/helpers/account'; import { Crawlers } from '../crawlers'; import { CommitDataWithOps, SyncEvtData } from '../repo'; import { RepoSeqEntry, RepoSeqInsert, SequencerDb } from './db'; import { SeqEvt } from './events'; export * from './events'; declare const Sequencer_base: new () => SequencerEmitter; export declare class Sequencer extends Sequencer_base { dbLocation: string; crawlers: Crawlers; lastSeen: number; db: SequencerDb; destroyed: boolean; pollPromise: Promise | null; triesWithNoResults: number; constructor(dbLocation: string, crawlers: Crawlers, lastSeen?: number, disableWalAutoCheckpoint?: boolean); start(): Promise; destroy(): Promise; curr(): Promise; next(cursor: number): Promise; earliestAfterTime(time: string): Promise; requestSeqRange(opts: { earliestSeq?: number; latestSeq?: number; earliestTime?: string; limit?: number; }): Promise; private pollDb; private exponentialBackoff; sequenceEvt(evt: RepoSeqInsert): Promise; sequenceCommit(did: DidString, commitData: CommitDataWithOps): Promise; sequenceSyncEvt(did: DidString, data: SyncEvtData): Promise; sequenceIdentityEvt(did: DidString, handle?: HandleString): Promise; sequenceAccountEvt(did: DidString, status: AccountStatus): Promise; deleteAllForUser(did: string, excludingSeqs?: number[]): Promise; } export declare const parseRepoSeqRows: (rows: RepoSeqEntry[]) => SeqEvt[]; type SeqRow = RepoSeqEntry; type SequencerEvents = { events: (evts: SeqEvt[]) => void; close: () => void; }; export type SequencerEmitter = TypedEmitter; export default Sequencer; //# sourceMappingURL=sequencer.d.ts.map