export type WorkspaceEntry = {
    path: string;
    name: string;
    lastAccessed: string;
    configured: boolean;
};
export type WorkspaceRegistryData = {
    workspaces: WorkspaceEntry[];
};
export declare function setRegistryDir(dir: string | undefined): void;
export type ListWorkspacesOptions = {
    includeTempPaths?: boolean;
};
/**
 * Returns all registered workspaces sorted by lastAccessed (most recent first).
 * Filters out entries whose paths no longer exist or reside in temp directories
 * unless includeTempPaths is set.
 */
export declare function listWorkspaces(opts?: ListWorkspacesOptions): WorkspaceEntry[];
/**
 * Registers a workspace path. If already registered, updates lastAccessed.
 * Rejects temp directory paths. Enforces a max of 50 entries via LRU eviction.
 */
export declare function registerWorkspace(workspacePath: string): WorkspaceEntry;
/**
 * Removes a workspace from the registry by path.
 * Returns true if the workspace was found and removed.
 */
export declare function removeWorkspace(workspacePath: string): boolean;
/**
 * Updates the lastAccessed timestamp for a workspace.
 * If the workspace is not registered, it auto-registers it.
 */
export declare function touchWorkspace(workspacePath: string): WorkspaceEntry;
