declare module "@fusion/dashboard/app/utils/taskStuck" { import type { Task } from "@fusion/core"; export function isTaskStuck(task: Task, taskStuckTimeoutMs?: number, lastFetchTimeMs?: number): boolean; } declare module "@fusion/dashboard/app/plugins/types" { import type { Task, TaskDetail, WorkflowStep } from "@fusion/core"; export interface PluginDashboardViewContext { tasks: Task[]; projectId?: string; workflowSteps?: WorkflowStep[]; openTaskDetail?: (task: Task | TaskDetail) => void; } } declare module "@fusion/dashboard/app/components/TaskCard" { import type { Column, Task, TaskDetail } from "@fusion/core"; import type { ReactElement } from "react"; interface TaskCardProps { task: Task; projectId?: string; onOpenDetail: (task: Task | TaskDetail) => void; addToast: (message: string, type?: "success" | "error" | "info" | "warning") => void; globalPaused?: boolean; onUpdateTask?: ( id: string, updates: { title?: string; description?: string; dependencies?: string[] } ) => Promise; onArchiveTask?: (id: string) => Promise; onUnarchiveTask?: (id: string) => Promise; onDeleteTask?: (id: string, options?: { removeDependencyReferences?: boolean }) => Promise; onRetryTask?: (id: string) => Promise; onOpenDetailWithTab?: (task: Task | TaskDetail, initialTab: "changes") => void; taskStuckTimeoutMs?: number; onOpenMission?: (missionId: string) => void; onMoveTask?: (id: string, column: Column, optionsOrPosition?: { preserveProgress?: boolean } | number) => Promise; lastFetchTimeMs?: number; workflowStepNameLookup?: ReadonlyMap; disableDrag?: boolean; } export function TaskCard(props: TaskCardProps): ReactElement; }