/**
 * Built-in agent tools for TaskManager.
 *
 * These tools allow the AI to self-schedule, manage, and inspect tasks
 * during conversations. Created per-instance via `createTaskTools()` factory,
 * following the same pattern as `createFileTools()` in files/fileTools.ts.
 *
 * @module tasks/tools/taskTools
 */
import type { TaskManager } from "../taskManager.js";
import type { TaskSchedule } from "../../types/taskTypes.js";
/**
 * Create task management tools bound to a TaskManager instance.
 *
 * These tools follow the same factory pattern as `createFileTools()` in
 * `src/lib/files/fileTools.ts`. The `manager` is captured via closure,
 * eliminating the need for module-level singleton state.
 *
 * @param manager - The TaskManager instance to bind to
 * @returns Record of tool name to tool definition
 *
 * @example
 * ```typescript
 * const manager = new TaskManager(neurolink, config);
 * const tools = createTaskTools(manager);
 * // tools.createTask, tools.listTasks, tools.getTaskRuns, etc.
 * ```
 */
export declare function createTaskTools(manager: TaskManager): {
    createTask: import("ai").Tool<{
        name: string;
        prompt: string;
        schedule: {
            type: "once" | "cron" | "interval";
            expression?: string | undefined;
            timezone?: string | undefined;
            every?: number | undefined;
            at?: string | undefined;
        };
        mode?: "isolated" | "continuation" | undefined;
    }, {
        success: boolean;
        taskId: string;
        name: string;
        status: import("../../index.js").TaskStatus;
        mode: import("../../index.js").TaskExecutionMode;
        nextRunAt: string | undefined;
        schedule: TaskSchedule;
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        taskId?: undefined;
        name?: undefined;
        status?: undefined;
        mode?: undefined;
        nextRunAt?: undefined;
        schedule?: undefined;
    }>;
    listTasks: import("ai").Tool<{
        status?: "failed" | "pending" | "active" | "paused" | "completed" | "cancelled" | undefined;
    }, {
        success: boolean;
        count: number;
        tasks: {
            taskId: string;
            name: string;
            status: import("../../index.js").TaskStatus;
            mode: import("../../index.js").TaskExecutionMode;
            schedule: TaskSchedule;
            runCount: number;
            lastRunAt: string | undefined;
            nextRunAt: string | undefined;
        }[];
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        count?: undefined;
        tasks?: undefined;
    }>;
    getTaskRuns: import("ai").Tool<{
        taskId: string;
        limit?: number | undefined;
    }, {
        success: boolean;
        taskId: string;
        count: number;
        runs: {
            runId: string;
            status: "error" | "success";
            output: string | undefined;
            durationMs: number;
            timestamp: string;
            error: string | undefined;
        }[];
        error?: undefined;
    } | {
        success: boolean;
        error: string;
        taskId?: undefined;
        count?: undefined;
        runs?: undefined;
    }>;
    deleteTask: import("ai").Tool<{
        taskId: string;
    }, {
        success: boolean;
        error: string;
        deletedTask?: undefined;
        taskId?: undefined;
    } | {
        success: boolean;
        deletedTask: string;
        taskId: string;
        error?: undefined;
    }>;
    runTaskNow: import("ai").Tool<{
        taskId: string;
    }, {
        success: boolean;
        runId: string;
        status: "error" | "success";
        output: string | undefined;
        durationMs: number;
        error: string | undefined;
    } | {
        success: boolean;
        error: string;
        runId?: undefined;
        status?: undefined;
        output?: undefined;
        durationMs?: undefined;
    }>;
};
