import { RollupDay, RollupHour, Snapshot } from './contract'; import { haversineNm } from './aggregate'; import { Logger, Store } from './store'; export declare function clampRange(fromTs: number, toTs: number): [number, number]; export { haversineNm }; export declare function trackDistanceNm(rows: Snapshot[]): number; export declare function buildHourRollup(hour: string, rows: Snapshot[]): RollupHour; export declare function buildDayRollup(date: string, hours: RollupHour[]): RollupDay; export declare class RollupEngine { private store; private log; private hourKeysDone; private dayKeysDone; private initialized; constructor(store: Store, log: Logger); private hourlyPath; private dailyPath; private listRollupFiles; init(): Promise; catchUp(now: number): Promise; private readHourlyMonth; readHourly(fromTs: number, toTs: number): Promise; private hourlyMonthsOnDisk; readDaily(fromTs: number, toTs: number): Promise; status(now: number): Promise<{ last_hour: string | null; hours_pending: number; }>; }