/** * Single source of truth for the plan/lessons filename timestamp format, shared * by the generator (`GitHubSourcePlanService.writeGeneratedPlan`) and the parser * (`GroupLaunchService`) so the two can never drift. * * The time separator switched from `:` to `-` to produce Windows-safe filenames * (a `:` is an invalid path character on Windows and breaks `actions/checkout` * on `windows-latest`). The parser accepts BOTH forms so already-committed * colon-named plans keep resolving; no migration is performed. */ /** * Format `now` as a plan-filename timestamp in local time. * * - `windowsSafe` (default): `YYYY-MM-DD-HH-MM` — no colon. * - legacy: `YYYY-MM-DD-HH:MM` — restored when `defaults.windowsSafeNames` is off. */ export declare function formatPlanTimestamp(now: Date, windowsSafe?: boolean): string; /** Build `-.md` for the given `now`, slug, and separator mode. */ export declare function buildPlanFileName(now: Date, slug: string, windowsSafe?: boolean): string; /** * Match a plan filename's leading `YYYY-MM-DD-HH-MM` / `YYYY-MM-DD-HH:MM` * timestamp (either separator in the HH/MM position) and return the captured * prefix, or `null` when absent. * * The captured prefix stays lexicographically sortable: both `:` (U+003A) and * `-` (U+002D) sort after the digits that precede them, so cross-form ordering * within the same minute is irrelevant and same-minute ties fall back to mtime * at the call site. */ export declare function parsePlanTimestampPrefix(filename: string): string | null; //# sourceMappingURL=plan-filename.d.ts.map