/**
 * Tool Chain Orchestrator - AI-Powered Dynamic Tool Sequencing
 *
 * Uses OpenRouter.ai to intelligently analyze user requests and generate
 * structured tool execution plans for the calling LLM to execute.
 */
import { z } from 'zod';
declare const ToolChainOrchestratorSchema: z.ZodObject<{
    operation: z.ZodEnum<["generate_plan", "analyze_intent", "suggest_tools", "validate_plan", "reality_check", "session_guidance"]>;
    userRequest: z.ZodString;
    projectContext: z.ZodObject<{
        projectPath: z.ZodString;
        adrDirectory: z.ZodDefault<z.ZodString>;
        todoPath: z.ZodDefault<z.ZodString>;
        hasADRs: z.ZodOptional<z.ZodBoolean>;
        hasTODO: z.ZodOptional<z.ZodBoolean>;
        projectType: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        projectPath: string;
        adrDirectory: string;
        todoPath: string;
        projectType?: string | undefined;
        hasADRs?: boolean | undefined;
        hasTODO?: boolean | undefined;
    }, {
        projectPath: string;
        projectType?: string | undefined;
        adrDirectory?: string | undefined;
        todoPath?: string | undefined;
        hasADRs?: boolean | undefined;
        hasTODO?: boolean | undefined;
    }>;
    constraints: z.ZodOptional<z.ZodObject<{
        maxSteps: z.ZodDefault<z.ZodNumber>;
        timeLimit: z.ZodOptional<z.ZodString>;
        excludeTools: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        prioritizeSpeed: z.ZodDefault<z.ZodBoolean>;
    }, "strip", z.ZodTypeAny, {
        maxSteps: number;
        prioritizeSpeed: boolean;
        timeLimit?: string | undefined;
        excludeTools?: string[] | undefined;
    }, {
        maxSteps?: number | undefined;
        timeLimit?: string | undefined;
        excludeTools?: string[] | undefined;
        prioritizeSpeed?: boolean | undefined;
    }>>;
    customInstructions: z.ZodOptional<z.ZodString>;
    sessionContext: z.ZodOptional<z.ZodObject<{
        conversationLength: z.ZodOptional<z.ZodNumber>;
        previousActions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        confusionIndicators: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
        lastSuccessfulAction: z.ZodOptional<z.ZodString>;
        stuckOnTask: z.ZodOptional<z.ZodString>;
    }, "strip", z.ZodTypeAny, {
        conversationLength?: number | undefined;
        previousActions?: string[] | undefined;
        confusionIndicators?: string[] | undefined;
        lastSuccessfulAction?: string | undefined;
        stuckOnTask?: string | undefined;
    }, {
        conversationLength?: number | undefined;
        previousActions?: string[] | undefined;
        confusionIndicators?: string[] | undefined;
        lastSuccessfulAction?: string | undefined;
        stuckOnTask?: string | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    operation: "generate_plan" | "analyze_intent" | "suggest_tools" | "validate_plan" | "reality_check" | "session_guidance";
    projectContext: {
        projectPath: string;
        adrDirectory: string;
        todoPath: string;
        projectType?: string | undefined;
        hasADRs?: boolean | undefined;
        hasTODO?: boolean | undefined;
    };
    userRequest: string;
    constraints?: {
        maxSteps: number;
        prioritizeSpeed: boolean;
        timeLimit?: string | undefined;
        excludeTools?: string[] | undefined;
    } | undefined;
    customInstructions?: string | undefined;
    sessionContext?: {
        conversationLength?: number | undefined;
        previousActions?: string[] | undefined;
        confusionIndicators?: string[] | undefined;
        lastSuccessfulAction?: string | undefined;
        stuckOnTask?: string | undefined;
    } | undefined;
}, {
    operation: "generate_plan" | "analyze_intent" | "suggest_tools" | "validate_plan" | "reality_check" | "session_guidance";
    projectContext: {
        projectPath: string;
        projectType?: string | undefined;
        adrDirectory?: string | undefined;
        todoPath?: string | undefined;
        hasADRs?: boolean | undefined;
        hasTODO?: boolean | undefined;
    };
    userRequest: string;
    constraints?: {
        maxSteps?: number | undefined;
        timeLimit?: string | undefined;
        excludeTools?: string[] | undefined;
        prioritizeSpeed?: boolean | undefined;
    } | undefined;
    customInstructions?: string | undefined;
    sessionContext?: {
        conversationLength?: number | undefined;
        previousActions?: string[] | undefined;
        confusionIndicators?: string[] | undefined;
        lastSuccessfulAction?: string | undefined;
        stuckOnTask?: string | undefined;
    } | undefined;
}>;
type ToolChainOrchestratorArgs = z.infer<typeof ToolChainOrchestratorSchema>;
/**
 * Main orchestrator function
 */
export declare function toolChainOrchestrator(args: ToolChainOrchestratorArgs): Promise<any>;
export {};
//# sourceMappingURL=tool-chain-orchestrator.d.ts.map