import { z } from 'zod';
/**
 * Schema for template parameters
 * Defines how template strings are processed in tasks
 */
export declare const TaskTemplateSchema: z.ZodObject<{
    template: z.ZodString;
    parameters: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    parameters?: string[];
    template?: string;
}, {
    parameters?: string[];
    template?: string;
}>;
/**
 * Schema for task configuration
 * Defines the structure for a task configuration file
 */
export declare const TaskConfigSchema: z.ZodObject<{
    name: z.ZodString;
    description: z.ZodString;
    agent: z.ZodString;
    schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
    task: z.ZodUnion<[z.ZodString, z.ZodObject<{
        template: z.ZodString;
        parameters: z.ZodArray<z.ZodString, "many">;
    }, "strip", z.ZodTypeAny, {
        parameters?: string[];
        template?: string;
    }, {
        parameters?: string[];
        template?: string;
    }>]>;
    parameters: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    name?: string;
    parameters?: string;
    description?: string;
    schema?: Record<string, unknown>;
    agent?: string;
    task?: string | {
        parameters?: string[];
        template?: string;
    };
}, {
    name?: string;
    parameters?: string;
    description?: string;
    schema?: Record<string, unknown>;
    agent?: string;
    task?: string | {
        parameters?: string[];
        template?: string;
    };
}>;
export type TaskTemplate = z.infer<typeof TaskTemplateSchema>;
export type TaskConfig = z.infer<typeof TaskConfigSchema>;
/**
 * Default task configuration for code review
 */
export declare const DEFAULT_CODE_REVIEW_TASK: TaskConfig;
/**
 * Default task configuration for code explanation
 */
export declare const DEFAULT_CODE_EXPLANATION_TASK: TaskConfig;
