import type { Database } from "bun:sqlite";
import type { CreateTaskInput, Task, TaskFilter, TaskRow, TaskWithRelations, UpdateTaskInput } from "../types/index.js";
export declare function rowToTask(row: TaskRow): Task;
export declare function insertTaskTags(taskId: string, tags: string[], db: Database): void;
export declare function replaceTaskTags(taskId: string, tags: string[], db: Database): void;
export declare function createTask(input: CreateTaskInput, db?: Database): Task;
export declare function getTask(id: string, db?: Database): Task | null;
export declare function getTaskWithRelations(id: string, db?: Database): TaskWithRelations | null;
export declare function listTasks(filter?: TaskFilter, db?: Database): Task[];
export declare function countTasks(filter?: Omit<TaskFilter, 'limit' | 'offset'>, db?: Database): number;
export declare function updateTask(id: string, input: UpdateTaskInput, db?: Database): Task;
export declare function deleteTask(id: string, db?: Database): boolean;
//# sourceMappingURL=task-crud.d.ts.map