import type { AssignKanbanTaskInput, KanbanAgentAssignment } from '@wrongstack/kanban'; import type { KanbanToolInput } from './kanban-tool-types.js'; export declare function taskInput(input: KanbanToolInput): { title: string; columnId: string | undefined; description: string | undefined; dueDate: string | undefined; priority: import("@wrongstack/kanban").KanbanTaskPriority | undefined; type?: import("@wrongstack/kanban").KanbanTaskType; status: import("@wrongstack/kanban").KanbanTaskStatus | undefined; labels: string[] | undefined; assignedAgent?: string | undefined; assignee?: string | undefined; dependsOn?: string[] | undefined; estimatedHours?: number; actualHours?: number; assignment?: KanbanAgentAssignment; order?: number; retryPolicy?: "exponential" | "incremental" | "off"; costCeilingUsd?: number; atomic?: boolean; childTaskIds?: string[]; successCriteria?: { id: `${string}-${string}-${string}-${string}-${string}`; description: string; type: "command" | "file_exists" | "file_matches" | "git_diff" | "manual" | "metric" | "test"; status: "failed" | "passed" | "pending" | "skipped"; notes?: string; }[]; goalMetrics?: { id: `${string}-${string}-${string}-${string}-${string}`; name: string; status: "met" | "missed" | "pending" | "waived"; target?: string | number; current?: string | number; direction?: "at_least" | "at_most"; unit?: string; notes?: string; }[]; links?: { url: string; type: "commit" | "design" | "doc" | "file" | "issue" | "other" | "pr" | "url"; title?: string; }[]; notes?: { id: `${string}-${string}-${string}-${string}-${string}`; author: string; content: string; createdAt: string; }[]; origin?: { system: string; graphId?: string; specId?: string; specRequirementId?: string; phaseId?: string; }; }; /** * Union of the single `dependencyTaskId` and the multi `dependsOn[]` inputs. * * Returns `undefined` only when neither was supplied, so an explicit * `dependsOn: []` CLEARS the list instead of being silently ignored. It used to * collapse empty to `undefined`, which meant a dependency added by mistake * could never be taken back from the tool surface: `dependency-incomplete` * then held the card out of Running for good, and the only escapes were * finishing work nobody wanted or deleting the blocking card outright. */ export declare function mergedDependsOn(input: KanbanToolInput): string[] | undefined; export declare function taskPatch(input: KanbanToolInput): { title: string | undefined; description: string | undefined; dueDate: string | undefined; columnId: string | undefined; order: number | undefined; priority: import("@wrongstack/kanban").KanbanTaskPriority | undefined; type?: import("@wrongstack/kanban").KanbanTaskType; status: import("@wrongstack/kanban").KanbanTaskStatus | undefined; labels: string[] | undefined; assignedAgent: string | undefined; dependsOn?: string[] | undefined; atomic?: boolean; childTaskIds?: string[]; estimatedHours?: number; actualHours?: number; }; export declare function assignmentInput(input: KanbanToolInput): AssignKanbanTaskInput; //# sourceMappingURL=kanban-task-inputs.d.ts.map