/**
 * Parse a session filename timestamp back to a Date.
 * Filename timestamps look like "2026-04-09T18-49-11-406Z" (colons and dots replaced with hyphens).
 * Returns null if the timestamp doesn't match the expected format.
 */
export declare function filenameTimestampToDate(fileTimestamp: string): Date | null;
/**
 * Check if two dates fall on the same local calendar day.
 */
export declare function isSameLocalDay(date: Date, today: Date): boolean;
/**
 * Tracks aggregate cost across all sessions for the current calendar day.
 * Scans session files filtered by filename timestamp, caches result for O(1) footer access.
 * Refreshes periodically (60s) and on-demand via refresh().
 */
export declare class DailyCostTracker {
    private static readonly REFRESH_INTERVAL_MS;
    private cachedCost;
    private refreshTimer;
    private disposed;
    private sessionsDir;
    constructor(sessionsDir?: string);
    /** Get cached daily cost total. O(1). */
    getDailyCost(): number;
    /** Force an async refresh of the daily cost. */
    refresh(): Promise<void>;
    /** Clean up timer and prevent in-flight scans from updating cache. */
    dispose(): void;
    private initialScan;
    private scheduleNextRefresh;
    private scanDailyCost;
    private sumCostFromFile;
}
//# sourceMappingURL=daily-cost-tracker.d.ts.map