export declare const REGISTRY_PATH: string;
/** Default TTL: entries not accessed within 30 days are pruned. */
export declare const DEFAULT_TTL_DAYS = 30;
interface RegistryEntry {
    path: string;
    dbPath: string;
    addedAt: string;
    lastAccessedAt?: string;
}
interface Registry {
    repos: Record<string, RegistryEntry>;
}
/**
 * Load the registry from disk.
 * Returns `{ repos: {} }` on missing or corrupt file.
 */
export declare function loadRegistry(registryPath?: string): Registry;
/**
 * Persist the registry to disk (atomic write via temp + rename).
 * Creates the parent directory if needed.
 */
export declare function saveRegistry(registry: Registry, registryPath?: string): void;
export declare function registerRepo(rootDir: string, name?: string, registryPath?: string): {
    name: string;
    entry: RegistryEntry;
};
/**
 * Remove a repo from the registry. Returns false if not found.
 */
export declare function unregisterRepo(name: string, registryPath?: string): boolean;
export interface RepoListEntry {
    name: string;
    path: string;
    dbPath: string;
    addedAt: string;
    lastAccessedAt: string;
}
/**
 * List all registered repos, sorted by name.
 */
export declare function listRepos(registryPath?: string): RepoListEntry[];
/**
 * Resolve a repo name to its database path.
 * Returns undefined if the repo is not found or its DB file is missing.
 */
export declare function resolveRepoDbPath(name: string, registryPath?: string): string | undefined;
interface PrunedEntry {
    name: string;
    path: string;
    reason: 'missing' | 'expired';
}
/**
 * Remove registry entries whose repo directory no longer exists on disk,
 * or that haven't been accessed within `ttlDays` days.
 * Returns an array of `{ name, path, reason }` for each pruned entry.
 *
 * When `dryRun` is true, entries are identified but not removed from disk.
 */
export declare function pruneRegistry(registryPath?: string, ttlDays?: number, excludeNames?: string[], dryRun?: boolean): PrunedEntry[];
export {};
//# sourceMappingURL=registry.d.ts.map