import { z } from "zod";
import { TaskStatus, TaskPriority, TaskType } from "./interfaces.js";
export declare const TaskPriorityEnum: z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>;
export declare const TaskTypeEnum: z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>;
export declare const SettableTaskStatusEnum: z.ZodEnum<[TaskStatus.Pending, TaskStatus.Active, TaskStatus.Done, TaskStatus.Failed, TaskStatus.RequiresClarification]>;
export declare const BaseTaskDefinitionSchema: z.ZodObject<{
    title: z.ZodString;
    description: z.ZodString;
    priority: z.ZodOptional<z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>>;
    type: z.ZodOptional<z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>>;
    dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    environmentContext: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    title: string;
    description: string;
    priority?: TaskPriority | undefined;
    type?: TaskType | undefined;
    dependsOn?: string[] | undefined;
    artifactsGenerated?: string[] | undefined;
    environmentContext?: string | undefined;
}, {
    title: string;
    description: string;
    priority?: TaskPriority | undefined;
    type?: TaskType | undefined;
    dependsOn?: string[] | undefined;
    artifactsGenerated?: string[] | undefined;
    environmentContext?: string | undefined;
}>;
export declare const RequestPlanningSchema: z.ZodObject<{
    originalRequest: z.ZodString;
    splitDetails: z.ZodOptional<z.ZodString>;
    tasks: z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        description: z.ZodString;
        priority: z.ZodOptional<z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>>;
        type: z.ZodOptional<z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>>;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        environmentContext: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }, {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    originalRequest: string;
    tasks: {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }[];
    splitDetails?: string | undefined;
}, {
    originalRequest: string;
    tasks: {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }[];
    splitDetails?: string | undefined;
}>;
export declare const GetNextTaskSchema: z.ZodObject<{
    requestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    requestId: string;
}, {
    requestId: string;
}>;
export declare const MarkTaskDoneSchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
    completedDetails: z.ZodOptional<z.ZodString>;
    artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
    completedDetails?: string | undefined;
    artifactsGenerated?: string[] | undefined;
}, {
    taskId: string;
    requestId: string;
    completedDetails?: string | undefined;
    artifactsGenerated?: string[] | undefined;
}>;
export declare const MarkTaskFailedSchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
    reason: z.ZodOptional<z.ZodString>;
    suggestedRetryStrategy: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
    suggestedRetryStrategy?: string | undefined;
    reason?: string | undefined;
}, {
    taskId: string;
    requestId: string;
    suggestedRetryStrategy?: string | undefined;
    reason?: string | undefined;
}>;
export declare const OpenTaskDetailsSchema: z.ZodObject<{
    taskId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    taskId: string;
}, {
    taskId: string;
}>;
export declare const ListRequestsSchema: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>;
export declare const AddTasksToRequestSchema: z.ZodObject<{
    requestId: z.ZodString;
    tasks: z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        description: z.ZodString;
        priority: z.ZodOptional<z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>>;
        type: z.ZodOptional<z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>>;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        environmentContext: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }, {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    requestId: string;
    tasks: {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }[];
}, {
    requestId: string;
    tasks: {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }[];
}>;
export declare const UpdateTaskSchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
    title: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    status: z.ZodOptional<z.ZodEnum<[TaskStatus.Pending, TaskStatus.Active, TaskStatus.Done, TaskStatus.Failed, TaskStatus.RequiresClarification]>>;
    priority: z.ZodOptional<z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>>;
    type: z.ZodOptional<z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>>;
    dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    environmentContext: z.ZodOptional<z.ZodString>;
    suggestedRetryStrategy: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
    title?: string | undefined;
    description?: string | undefined;
    status?: TaskStatus | undefined;
    priority?: TaskPriority | undefined;
    type?: TaskType | undefined;
    dependsOn?: string[] | undefined;
    suggestedRetryStrategy?: string | undefined;
    artifactsGenerated?: string[] | undefined;
    environmentContext?: string | undefined;
}, {
    taskId: string;
    requestId: string;
    title?: string | undefined;
    description?: string | undefined;
    status?: TaskStatus | undefined;
    priority?: TaskPriority | undefined;
    type?: TaskType | undefined;
    dependsOn?: string[] | undefined;
    suggestedRetryStrategy?: string | undefined;
    artifactsGenerated?: string[] | undefined;
    environmentContext?: string | undefined;
}>;
export declare const AddDependencySchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
    dependsOnTaskId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
    dependsOnTaskId: string;
}, {
    taskId: string;
    requestId: string;
    dependsOnTaskId: string;
}>;
export declare const RemoveDependencySchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
    dependsOnTaskId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
    dependsOnTaskId: string;
}, {
    taskId: string;
    requestId: string;
    dependsOnTaskId: string;
}>;
export declare const ValidateDependenciesSchema: z.ZodObject<{
    requestId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    requestId: string;
}, {
    requestId: string;
}>;
export declare const DeleteTaskSchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
}, {
    taskId: string;
    requestId: string;
}>;
export declare const AddSubtaskSchema: z.ZodObject<{
    requestId: z.ZodString;
    parentTaskId: z.ZodString;
    subtaskTitle: z.ZodString;
    subtaskDescription: z.ZodString;
    priority: z.ZodOptional<z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>>;
    type: z.ZodOptional<z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>>;
    dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    environmentContext: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    requestId: string;
    parentTaskId: string;
    subtaskTitle: string;
    subtaskDescription: string;
    priority?: TaskPriority | undefined;
    type?: TaskType | undefined;
    dependsOn?: string[] | undefined;
    artifactsGenerated?: string[] | undefined;
    environmentContext?: string | undefined;
}, {
    requestId: string;
    parentTaskId: string;
    subtaskTitle: string;
    subtaskDescription: string;
    priority?: TaskPriority | undefined;
    type?: TaskType | undefined;
    dependsOn?: string[] | undefined;
    artifactsGenerated?: string[] | undefined;
    environmentContext?: string | undefined;
}>;
export declare const RemoveSubtaskSchema: z.ZodObject<{
    requestId: z.ZodString;
    subtaskId: z.ZodString;
    parentTaskId: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    requestId: string;
    subtaskId: string;
    parentTaskId?: string | undefined;
}, {
    requestId: string;
    subtaskId: string;
    parentTaskId?: string | undefined;
}>;
export declare const ArchiveTaskTreeSchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
}, {
    taskId: string;
    requestId: string;
}>;
export declare const LogTaskCompletionSummarySchema: z.ZodObject<{
    requestId: z.ZodString;
    taskId: z.ZodString;
    summaryMarkdownContent: z.ZodString;
    artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    taskId: string;
    requestId: string;
    summaryMarkdownContent: string;
    artifactsGenerated?: string[] | undefined;
}, {
    taskId: string;
    requestId: string;
    summaryMarkdownContent: string;
    artifactsGenerated?: string[] | undefined;
}>;
export declare const SplitTaskSchema: z.ZodObject<{
    requestId: z.ZodString;
    taskIdToSplit: z.ZodString;
    newSubtaskDefinitions: z.ZodArray<z.ZodObject<{
        title: z.ZodString;
        description: z.ZodString;
        priority: z.ZodOptional<z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>>;
        type: z.ZodOptional<z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>>;
        dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        artifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        environmentContext: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }, {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    requestId: string;
    taskIdToSplit: string;
    newSubtaskDefinitions: {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }[];
}, {
    requestId: string;
    taskIdToSplit: string;
    newSubtaskDefinitions: {
        title: string;
        description: string;
        priority?: TaskPriority | undefined;
        type?: TaskType | undefined;
        dependsOn?: string[] | undefined;
        artifactsGenerated?: string[] | undefined;
        environmentContext?: string | undefined;
    }[];
}>;
export declare const MergeTasksSchema: z.ZodObject<{
    requestId: z.ZodString;
    primaryTaskId: z.ZodString;
    taskIdsToMerge: z.ZodArray<z.ZodString, "many">;
    newTitle: z.ZodOptional<z.ZodString>;
    newDescription: z.ZodOptional<z.ZodString>;
    newPriority: z.ZodOptional<z.ZodEnum<[TaskPriority.High, TaskPriority.Medium, TaskPriority.Low, TaskPriority.Critical]>>;
    newType: z.ZodOptional<z.ZodEnum<[TaskType.Code, TaskType.Debug, TaskType.Test, TaskType.Plan, TaskType.Refactor, TaskType.Documentation, TaskType.Research, TaskType.Generic]>>;
    newEnvironmentContext: z.ZodOptional<z.ZodString>;
    newArtifactsGenerated: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    requestId: string;
    primaryTaskId: string;
    taskIdsToMerge: string[];
    newTitle?: string | undefined;
    newDescription?: string | undefined;
    newPriority?: TaskPriority | undefined;
    newType?: TaskType | undefined;
    newEnvironmentContext?: string | undefined;
    newArtifactsGenerated?: string[] | undefined;
}, {
    requestId: string;
    primaryTaskId: string;
    taskIdsToMerge: string[];
    newTitle?: string | undefined;
    newDescription?: string | undefined;
    newPriority?: TaskPriority | undefined;
    newType?: TaskType | undefined;
    newEnvironmentContext?: string | undefined;
    newArtifactsGenerated?: string[] | undefined;
}>;
