import { Snapshot, TrackPoint, Voyage, VoyageStatsResult } from './contract'; import { Options } from './config'; import { RollupEngine } from './rollup'; import { Logger, Store } from './store'; export type EditResult = { ok: true; id: number; } | { ok: false; error: string; }; export declare class VoyageLog { private store; private opts; private log; private state; private manual; private window; private chain; private persistedRevision; private filePath; constructor(store: Store, opts: Options, log: Logger); private enqueue; init(now: number): Promise; feed(snap: Snapshot): Promise; list(limit: number): Voyage[]; current(): Voyage | null; track(voyageId: number, now: number): Promise; stats(rollups: RollupEngine, now: number): Promise; private seasonStartMs; private windowStats; private scanStart; private readRows; private range; private runReconcile; private revision; private persist; private manualIds; edits(): { merged: number[]; }; private partsOf; private persistEdit; mergeWithPrevious(id: number, now: number): Promise; undoMerge(id: number, now: number): Promise; flush(): Promise; }