import { type HarnessSettings } from "../shared/types.js"; /** * Validates, normalizes, case-sensitively dedupes (first occurrence wins — * callers order newest-first), and caps a candidate recent-dirs list. * Applied on every write (via saveSettings) and on every read (via * loadSettings), so junk already on disk self-heals the next time it's * loaded instead of requiring a migration. */ export declare function sanitizeRecentDirs(candidates: string[]): Promise; /** Whether settings have ever been persisted — used to detect first run. */ export declare function hasStoredSettings(settingsPath?: string): Promise; export declare function loadSettings(settingsPath?: string): Promise; export declare function saveSettings(settings: HarnessSettings, settingsPath?: string): Promise; /** Record `cwd` as the most-recently-used project directory (validated, deduped, capped). */ export declare function recordRecentDir(cwd: string, settingsPath?: string): Promise; /** * Boot-time hygiene: persist the removal of recent-dir entries whose path no * longer exists on disk. sanitizeRecentDirs() already drops them from every * in-memory read, but a read alone never rewrites the file — so a dead entry * (deleted project, a crashed check's temp dir) would otherwise sit in * settings.json indefinitely. Returns the entries that were dropped; leaves * the file completely untouched (not even created) when there is nothing to * prune, so this can never break first-run detection (hasStoredSettings). */ export declare function pruneDeadRecentDirs(settingsPath?: string): Promise; //# sourceMappingURL=settings.d.ts.map