import type { ProjectOverviewSummary } from "./types";
export type TaskBoardProjectOption = {
    projectId: string;
    parentProjectId?: string | null;
    depth?: number;
    title: string;
    description?: string;
    status?: string;
    permission: string;
    updatedAt?: string;
    overview?: ProjectOverviewSummary | null;
};
export type TaskBoardMyTaskOption = {
    taskId: string;
    projectId: string;
    title: string;
    projectTitle: string;
    status: string;
    updatedAt?: string;
};
type TaskBoardNavState = {
    projectTitle: string;
    projectSubtitle: string;
    permissionLabel: string;
    activeTab: number;
    isWizardMode: boolean;
    isAdministrator: boolean;
    showAllProjects: boolean;
    isProjectsLoading: boolean;
    selectedProjectId: string | null;
    selectedTaskId: string | null;
    projectOptions: TaskBoardProjectOption[];
    hasSelectedProject: boolean;
    canCreateTask: boolean;
    canRunOrchestrator: boolean;
    runningOrchestrator: boolean;
    canManageProject: boolean;
    myTasks: TaskBoardMyTaskOption[];
    myTasksLoading: boolean;
    onSelectProject?: (projectId: string | null) => void;
    onSelectMyTask?: (task: {
        projectId: string;
        taskId: string;
    }) => void;
    onSetActiveTab?: (index: number) => void;
    onCreateProject?: () => void;
    onOpenProjectTemplates?: () => void;
    onOpenProjectSettings?: (projectId: string) => void;
    onDeleteProject?: (projectId: string, title: string) => void;
    onToggleShowAllProjects?: (enabled: boolean) => void;
    onToggleWizardMode?: (enabled: boolean) => void;
    onCreateTask?: () => void;
    onRunOrchestrator?: () => void | Promise<void>;
};
export declare function subscribeTaskBoardNav(listener: () => void): () => boolean;
export declare function getTaskBoardNavSnapshot(): TaskBoardNavState;
export declare function setTaskBoardNavState(partial: Partial<TaskBoardNavState>): void;
export declare function resetTaskBoardNavState(): void;
export {};
