import type { Database } from "bun:sqlite";
import type { CreateTaskInput, Task, TaskDependency } from "../types/index.js";
export declare function addDependency(taskId: string, dependsOn: string, db?: Database): void;
export declare function removeDependency(taskId: string, dependsOn: string, db?: Database): boolean;
export declare function getTaskDependencies(taskId: string, db?: Database): TaskDependency[];
export declare function getTaskDependents(taskId: string, db?: Database): TaskDependency[];
export declare function cloneTask(taskId: string, overrides?: Partial<CreateTaskInput>, db?: Database): Task;
export interface TaskGraphNode {
    id: string;
    short_id: string | null;
    title: string;
    status: string;
    priority: string;
    is_blocked: boolean;
}
export interface TaskGraph {
    task: TaskGraphNode;
    depends_on: TaskGraph[];
    blocks: TaskGraph[];
}
export declare function getTaskGraph(taskId: string, direction?: "up" | "down" | "both", db?: Database): TaskGraph;
export declare function moveTask(taskId: string, target: {
    task_list_id?: string | null;
    project_id?: string | null;
    plan_id?: string | null;
}, db?: Database): Task;
//# sourceMappingURL=task-graph.d.ts.map