export declare const DEFAULT_WORKSPACE_ID = "default";
export declare const DEFAULT_WORKSPACE_NAME = "Default";
export interface Workspace {
    id: string;
    name: string;
    /** Repository node IDs (React Flow node ids, e.g. "repo-..."). */
    repoIds: string[];
    /** Feature node IDs (React Flow node ids, e.g. "feat-..."). */
    featureIds: string[];
}
export interface UseWorkspacesResult {
    workspaces: Workspace[];
    activeWorkspace: Workspace;
    activeWorkspaceId: string;
    isDefaultActive: boolean;
    setActiveWorkspace: (id: string) => void;
    createWorkspace: (name: string) => Workspace;
    renameWorkspace: (id: string, name: string) => void;
    deleteWorkspace: (id: string) => void;
    setWorkspaceMembers: (id: string, members: {
        repoIds: string[];
        featureIds: string[];
    }) => void;
    toggleRepoInActive: (repoId: string) => void;
    toggleFeatureInActive: (featureId: string) => void;
    /**
     * Append node IDs to the active workspace's allowlists. No-op when the
     * default workspace is active (it shows everything anyway). Idempotent —
     * IDs already present are skipped.
     */
    addToActiveWorkspace: (members: {
        repoIds?: string[];
        featureIds?: string[];
    }) => void;
}
export declare function useWorkspaces(): UseWorkspacesResult;
//# sourceMappingURL=use-workspaces.d.ts.map