export interface LastReportRecord { /** ISO timestamp of the most recent report (manual /skillfm OR daily cron). */ last_report_at: string; /** What triggered the last report — useful for telemetry / debugging. */ trigger: 'manual_slash_command' | 'daily_cron' | 'unknown'; /** Schema version, for future migrations. */ schema_version: 1; } export declare function lastReportFilePath(): string; /** * Read the last-report record. Returns null if not present (caller should * fall back to a sensible default like 24h ago). */ export declare function readLastReport(): Promise; /** * Write the last-report record. Caller usually does this right after * surfacing the report rendered text. */ export declare function writeLastReport(record: Omit): Promise; /** * Resolve the "since" cutoff for the manual scan: prior last_report_at if * present, otherwise (now - DEFAULT_FALLBACK_HOURS). */ export declare function resolveSinceCutoff(now?: Date): Promise; /** Compute hours-since-last-report (rounded up to integer for sinceHours arg). */ export declare function hoursSince(since: Date, now?: Date): number; /** * Render a short human-readable scan-window line for the report header, * e.g. "扫描期间: 2026-05-09 04:30 ~ 2026-05-09 09:15 UTC (4h45m)". */ export declare function renderScanWindowLine(since: Date, now?: Date): string; //# sourceMappingURL=last-report.d.ts.map