import { readDayLocations, type DayLocationsSnapshot } from './day-location-reader.js'; export interface LocationDateFilter { bucketDate: string; timezone: string; } export interface DayLocationState { data: DayLocationsSnapshot; loading: boolean; error: string; } /** Bounded, account-owned snapshots; closing a view does not restart the same day's scan. */ export declare class DayLocationCache { private read; private now; private account; private entries; private listeners; constructor(read?: typeof readDayLocations, now?: () => number); subscribe: (listener: () => void) => () => void; private emit; activate(account: string | undefined): void; invalidate(hard: boolean): void; get(account: string, date: LocationDateFilter): DayLocationState; load(account: string, date: LocationDateFilter, force?: boolean): Promise; } export declare const dayLocationCache: DayLocationCache; //# sourceMappingURL=day-location-cache.d.ts.map