import type { Client } from '@libsql/client'; import type { Task, CreateTaskInput, UpdateTaskInput, UpdateTaskAIInput, ListTasksParams, PaginatedTasks } from '../../types.js'; import type { TaskStatus } from '../../constants.js'; /** * Create a new task. The public_id is auto-assigned by a database trigger. */ export declare function createTask(client: Client, data: CreateTaskInput): Promise; /** * Get a single task by its UUID. */ export declare function getTask(client: Client, id: string): Promise; /** * Update a task by its UUID. Only provided fields are updated. * Returns the updated Task, or null if not found. */ export declare function updateTask(client: Client, id: string, data: UpdateTaskInput): Promise; /** * Delete a task by its UUID. * Returns whether the task was found and deleted. */ export declare function deleteTask(client: Client, id: string): Promise<{ deleted: boolean; }>; /** * List tasks with filtering, sorting, and pagination. */ export declare function listTasks(client: Client, params?: ListTasksParams): Promise; /** * Update AI-specific fields on a task. * Keeps AI state changes separate from user-driven updateTask. * Returns the updated Task, or null if not found. */ /** * Bulk update the status of multiple tasks. * Each task is individually validated against the transition map. * Tasks that don't exist or have invalid transitions are skipped. */ export declare function bulkUpdateStatus(client: Client, ids: string[], newStatus: TaskStatus, validTransitions: Record): Promise<{ updated: string[]; skipped: string[]; }>; /** * Bulk delete multiple tasks by their UUIDs. * Uses a single DELETE with IN clause for efficiency. */ export declare function bulkDeleteTasks(client: Client, ids: string[]): Promise<{ deleted: number; }>; /** * Update AI-specific fields on a task. * Keeps AI state changes separate from user-driven updateTask. * Returns the updated Task, or null if not found. */ export declare function updateTaskAIFields(client: Client, id: string, data: UpdateTaskAIInput): Promise; //# sourceMappingURL=tasks.d.ts.map