/**
 * Intent Task Controller — V2
 *
 * Express request handlers for the Intent Task API.
 * V2 adds: message decomposition, message groups, project task status,
 * and task toggle (complete/uncomplete) for todo-list UI.
 *
 * @module controllers/intent-task/intent-task.controller
 */
import type { Request, Response } from 'express';
/**
 * POST /api/intent-tasks/decompose — Decompose a message into multiple tasks.
 *
 * @deprecated Use POST /api/intent-tasks or POST /api/intent-tasks/batch instead.
 * Regex-based decomposition is unreliable for non-English messages.
 * The orchestrator LLM should identify intents and create tasks via the manual API.
 */
export declare function decomposeMessage(req: Request, res: Response): Promise<void>;
/**
 * POST /api/intent-tasks/batch — Create multiple intent tasks in one call.
 * Used by the orchestrator to create all tasks from one user message.
 */
export declare function batchCreateTasks(req: Request, res: Response): Promise<void>;
/**
 * POST /api/intent-tasks — Create a new intent task.
 */
export declare function createTask(req: Request, res: Response): Promise<void>;
/**
 * GET /api/intent-tasks — List all tasks (optionally filtered by status).
 *
 * Supports multi-status filtering: ?status=pending,in_progress
 * This enables session-less recovery: the orchestrator can query for
 * all unfinished tasks on startup.
 */
export declare function listTasks(req: Request, res: Response): Promise<void>;
/**
 * GET /api/intent-tasks/statistics — Get aggregate statistics.
 */
export declare function getStatistics(_req: Request, res: Response): Promise<void>;
/**
 * GET /api/intent-tasks/messages — List tasks grouped by message (todo-list view).
 *
 * Supports optional ?status= query param to filter groups by task status.
 * When filtered, only groups containing tasks with the given status are returned,
 * and the originalMessage is always preserved from the stored text (not rebuilt).
 */
export declare function listMessageGroups(req: Request, res: Response): Promise<void>;
/**
 * GET /api/intent-tasks/project/:projectTaskId — Get project task completion status.
 */
export declare function getProjectTaskStatus(req: Request, res: Response): Promise<void>;
/**
 * GET /api/intent-tasks/:taskId — Get a single task with full detail.
 */
export declare function getTask(req: Request, res: Response): Promise<void>;
/**
 * PUT /api/intent-tasks/:taskId — Update a task's status/metadata.
 */
export declare function updateTask(req: Request, res: Response): Promise<void>;
/**
 * POST /api/intent-tasks/:taskId/toggle — Toggle task between completed and pending.
 * Used by the todo-list UI checkbox.
 */
export declare function toggleTask(req: Request, res: Response): Promise<void>;
/**
 * DELETE /api/intent-tasks/:taskId — Delete a task.
 */
export declare function deleteTask(req: Request, res: Response): Promise<void>;
/**
 * POST /api/intent-tasks/:taskId/runs — Start a new run.
 */
export declare function startRun(req: Request, res: Response): Promise<void>;
/**
 * POST /api/intent-tasks/:taskId/runs/:runId/complete — Complete a run.
 */
export declare function completeRun(req: Request, res: Response): Promise<void>;
/**
 * POST /api/intent-tasks/:taskId/runs/:runId/fail — Fail a run.
 */
export declare function failRun(req: Request, res: Response): Promise<void>;
/**
 * POST /api/intent-tasks/:taskId/runs/:runId/spans — Record a span.
 */
export declare function recordSpan(req: Request, res: Response): Promise<void>;
//# sourceMappingURL=intent-task.controller.d.ts.map