import { z } from 'zod';
import { Storage } from '../../storage/storage.js';
/**
 * Update an existing task including hierarchy changes
 * Version 2.0: Updated for unified task model supporting unlimited hierarchy
 *
 * @param storage - Storage instance
 * @returns MCP tool handler for updating tasks
 */
export declare function createUpdateTaskTool(storage: Storage): {
    name: string;
    description: string;
    inputSchema: {
        id: z.ZodString;
        name: z.ZodOptional<z.ZodString>;
        details: z.ZodOptional<z.ZodString>;
        parentId: z.ZodOptional<z.ZodString>;
        completed: z.ZodOptional<z.ZodBoolean>;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        priority: z.ZodOptional<z.ZodNumber>;
        complexity: z.ZodOptional<z.ZodNumber>;
        status: z.ZodOptional<z.ZodEnum<["pending", "in-progress", "blocked", "done"]>>;
        tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        estimatedHours: z.ZodOptional<z.ZodNumber>;
        actualHours: z.ZodOptional<z.ZodNumber>;
    };
    handler: ({ id, name, details, parentId, completed, dependsOn, priority, complexity, status, tags, estimatedHours, actualHours }: {
        id: string;
        name?: string;
        details?: string;
        parentId?: string;
        completed?: boolean;
        dependsOn?: string[];
        priority?: number;
        complexity?: number;
        status?: "pending" | "in-progress" | "blocked" | "done";
        tags?: string[];
        estimatedHours?: number;
        actualHours?: number;
    }) => Promise<{
        content: {
            type: "text";
            text: string;
        }[];
        isError: boolean;
    } | {
        content: {
            type: "text";
            text: string;
        }[];
        isError?: undefined;
    }>;
};
