export interface Project {
    project_id: string;
    name: string;
    path: string;
    created_at: string;
    last_opened_at: string | null;
}
/**
 * Creates a new project with a generated UUID.
 */
export declare function createProject(name: string, path: string): Project;
/**
 * Returns a project by its ID, or null if not found.
 */
export declare function getProject(projectId: string): Project | null;
/**
 * Returns a project by its filesystem path, or null if not found.
 */
export declare function getProjectByPath(path: string): Project | null;
/**
 * Returns all registered projects.
 */
export declare function listProjects(): Project[];
/**
 * Updates the last_opened_at timestamp to the current time.
 */
export declare function updateProjectLastOpened(projectId: string): void;
/**
 * Deletes a project. Related rows in claude_project_dirs, fs_state,
 * and command_runs are removed automatically via ON DELETE CASCADE.
 */
export declare function deleteProject(projectId: string): void;
//# sourceMappingURL=projects.d.ts.map