import type TypedEmitter from 'typed-emitter'; import type { DidString, HandleString } from '@atproto/syntax'; import { AccountStatus } from '../account-manager/helpers/account.js'; import type { Crawlers } from '../crawlers.js'; import type { CommitDataWithOps, SyncEvtData } from '../repo/index.js'; import { type RepoSeqEntry, type RepoSeqInsert, type SequencerDb } from './db/index.js'; import { type SeqEvt } from './events.js'; export * from './events.js'; 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; sequenceEvts(events: readonly RepoSeqInsert[]): Promise; sequenceCommit(did: DidString, commitData: CommitDataWithOps): Promise; sequenceSync(did: DidString, data: SyncEvtData): Promise; sequenceIdentity(did: DidString, handle?: HandleString): Promise; sequenceAccount(did: DidString, status: AccountStatus): Promise; sequenceAccountCreation(did: DidString, handle: HandleString, commit: CommitDataWithOps): Promise; sequenceAccountActivation(did: DidString, handle: HandleString, status: AccountStatus, syncData: SyncEvtData): Promise; sequenceAccountDeletion(did: DidString): Promise; } export declare const parseRepoSeqRows: (rows: RepoSeqEntry[]) => SeqEvt[]; type SeqRow = RepoSeqEntry; type SequencerEvents = { events: (evts: SeqEvt[]) => void; close: () => void; }; export type SequencerEmitter = TypedEmitter.default; export default Sequencer; //# sourceMappingURL=sequencer.d.ts.map