import { z } from 'zod'; export type AgentMode = 'llm' | 'flow' | 'hybrid'; export type AgentTarget = 'config' | 'code' | 'both'; export declare const DomainAnalysisSchema: z.ZodObject<{ domain: z.ZodString; subDomain: z.ZodString; entities: z.ZodArray; workflows: z.ZodArray; userIntents: z.ZodArray; keyOutcomes: z.ZodArray; constraints: z.ZodArray; }, "strip", z.ZodTypeAny, { domain: string; subDomain: string; entities: string[]; workflows: string[]; userIntents: string[]; keyOutcomes: string[]; constraints: string[]; }, { domain: string; subDomain: string; entities: string[]; workflows: string[]; userIntents: string[]; keyOutcomes: string[]; constraints: string[]; }>; export type DomainAnalysis = { domain: string; subDomain?: string; entities: string[]; workflows: string[]; userIntents: string[]; keyOutcomes: string[]; constraints?: string[]; }; export declare const ToolRecommendationSchema: z.ZodObject<{ toolName: z.ZodString; description: z.ZodString; reason: z.ZodString; whenToUse: z.ZodString; onError: z.ZodString; priority: z.ZodEnum<["required", "recommended", "optional"]>; }, "strip", z.ZodTypeAny, { description: string; toolName: string; priority: "optional" | "required" | "recommended"; reason: string; whenToUse: string; onError: string; }, { description: string; toolName: string; priority: "optional" | "required" | "recommended"; reason: string; whenToUse: string; onError: string; }>; export type ToolRecommendation = z.infer; export declare const PromptLayerSchema: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; export type PromptLayer = z.infer; export declare const SixLayerPromptSchema: z.ZodObject<{ identityAndRole: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; safetyAndGuardrails: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; toolContract: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; reasoningWorkflow: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; executionPolicy: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; outputConstraints: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; }, "strip", z.ZodTypeAny, { identityAndRole: { name: string; content: string; purpose: string; }; safetyAndGuardrails: { name: string; content: string; purpose: string; }; toolContract: { name: string; content: string; purpose: string; }; reasoningWorkflow: { name: string; content: string; purpose: string; }; executionPolicy: { name: string; content: string; purpose: string; }; outputConstraints: { name: string; content: string; purpose: string; }; }, { identityAndRole: { name: string; content: string; purpose: string; }; safetyAndGuardrails: { name: string; content: string; purpose: string; }; toolContract: { name: string; content: string; purpose: string; }; reasoningWorkflow: { name: string; content: string; purpose: string; }; executionPolicy: { name: string; content: string; purpose: string; }; outputConstraints: { name: string; content: string; purpose: string; }; }>; export type SixLayerPrompt = z.infer; export declare const FlowNodeSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; purpose: z.ZodString; toolCalls: z.ZodOptional>; successCriteria: z.ZodArray; }, "strip", z.ZodTypeAny, { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }, { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }>; export type FlowNode = z.infer; export declare const FlowDesignSchema: z.ZodObject<{ nodes: z.ZodArray>; successCriteria: z.ZodArray; }, "strip", z.ZodTypeAny, { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }, { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }>, "many">; entryPoint: z.ZodString; transitions: z.ZodArray; }, "strip", z.ZodTypeAny, { from: string; to: string; trigger: string; condition?: string | undefined; }, { from: string; to: string; trigger: string; condition?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { nodes: { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }[]; transitions: { from: string; to: string; trigger: string; condition?: string | undefined; }[]; entryPoint: string; }, { nodes: { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }[]; transitions: { from: string; to: string; trigger: string; condition?: string | undefined; }[]; entryPoint: string; }>; export type FlowDesign = z.infer; export declare const ToolSpecificationSchema: z.ZodObject<{ name: z.ZodString; description: z.ZodString; inputSchema: z.ZodRecord; outputSchema: z.ZodRecord; integrationSteps: z.ZodArray; requiredAuth: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: string; description: string; inputSchema: Record; outputSchema: Record; integrationSteps: string[]; requiredAuth?: string[] | undefined; }, { name: string; description: string; inputSchema: Record; outputSchema: Record; integrationSteps: string[]; requiredAuth?: string[] | undefined; }>; export type ToolSpecification = z.infer; export declare const ArchitectClarificationSchema: z.ZodObject<{ question: z.ZodString; answer: z.ZodString; }, "strip", z.ZodTypeAny, { question: string; answer: string; }, { question: string; answer: string; }>; export type ArchitectClarification = z.infer; export declare const AgentBlueprintSchema: z.ZodObject<{ id: z.ZodString; name: z.ZodString; useCase: z.ZodString; mode: z.ZodEnum<["llm", "flow", "hybrid"]>; target: z.ZodEnum<["config", "code", "both"]>; domainAnalysis: z.ZodObject<{ domain: z.ZodString; subDomain: z.ZodString; entities: z.ZodArray; workflows: z.ZodArray; userIntents: z.ZodArray; keyOutcomes: z.ZodArray; constraints: z.ZodArray; }, "strip", z.ZodTypeAny, { domain: string; subDomain: string; entities: string[]; workflows: string[]; userIntents: string[]; keyOutcomes: string[]; constraints: string[]; }, { domain: string; subDomain: string; entities: string[]; workflows: string[]; userIntents: string[]; keyOutcomes: string[]; constraints: string[]; }>; selectedTools: z.ZodArray; toolRecommendations: z.ZodArray; }, "strip", z.ZodTypeAny, { description: string; toolName: string; priority: "optional" | "required" | "recommended"; reason: string; whenToUse: string; onError: string; }, { description: string; toolName: string; priority: "optional" | "required" | "recommended"; reason: string; whenToUse: string; onError: string; }>, "many">; toolPolicy: z.ZodRecord; promptLayers: z.ZodObject<{ identityAndRole: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; safetyAndGuardrails: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; toolContract: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; reasoningWorkflow: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; executionPolicy: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; outputConstraints: z.ZodObject<{ name: z.ZodString; content: z.ZodString; purpose: z.ZodString; }, "strip", z.ZodTypeAny, { name: string; content: string; purpose: string; }, { name: string; content: string; purpose: string; }>; }, "strip", z.ZodTypeAny, { identityAndRole: { name: string; content: string; purpose: string; }; safetyAndGuardrails: { name: string; content: string; purpose: string; }; toolContract: { name: string; content: string; purpose: string; }; reasoningWorkflow: { name: string; content: string; purpose: string; }; executionPolicy: { name: string; content: string; purpose: string; }; outputConstraints: { name: string; content: string; purpose: string; }; }, { identityAndRole: { name: string; content: string; purpose: string; }; safetyAndGuardrails: { name: string; content: string; purpose: string; }; toolContract: { name: string; content: string; purpose: string; }; reasoningWorkflow: { name: string; content: string; purpose: string; }; executionPolicy: { name: string; content: string; purpose: string; }; outputConstraints: { name: string; content: string; purpose: string; }; }>; flowDesign: z.ZodOptional>; successCriteria: z.ZodArray; }, "strip", z.ZodTypeAny, { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }, { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }>, "many">; entryPoint: z.ZodString; transitions: z.ZodArray; }, "strip", z.ZodTypeAny, { from: string; to: string; trigger: string; condition?: string | undefined; }, { from: string; to: string; trigger: string; condition?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { nodes: { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }[]; transitions: { from: string; to: string; trigger: string; condition?: string | undefined; }[]; entryPoint: string; }, { nodes: { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }[]; transitions: { from: string; to: string; trigger: string; condition?: string | undefined; }[]; entryPoint: string; }>>; evalPlan: z.ZodObject<{ scenarios: z.ZodArray; passCriteria: z.ZodOptional>; }, "strip", z.ZodTypeAny, { scenarios: string[]; passCriteria?: string[] | undefined; }, { scenarios: string[]; passCriteria?: string[] | undefined; }>; toolSpecifications: z.ZodOptional; outputSchema: z.ZodRecord; integrationSteps: z.ZodArray; requiredAuth: z.ZodOptional>; }, "strip", z.ZodTypeAny, { name: string; description: string; inputSchema: Record; outputSchema: Record; integrationSteps: string[]; requiredAuth?: string[] | undefined; }, { name: string; description: string; inputSchema: Record; outputSchema: Record; integrationSteps: string[]; requiredAuth?: string[] | undefined; }>, "many">>; generationMeta: z.ZodObject<{ generatedAt: z.ZodString; model: z.ZodString; llmRequired: z.ZodBoolean; llmEnabled: z.ZodBoolean; llmMode: z.ZodOptional; interactive: z.ZodBoolean; clarificationCount: z.ZodNumber; clarifications: z.ZodArray, "many">; }, "strip", z.ZodTypeAny, { model: string; generatedAt: string; llmRequired: boolean; llmEnabled: boolean; interactive: boolean; clarificationCount: number; clarifications: { question: string; answer: string; }[]; llmMode?: string | undefined; }, { model: string; generatedAt: string; llmRequired: boolean; llmEnabled: boolean; interactive: boolean; clarificationCount: number; clarifications: { question: string; answer: string; }[]; llmMode?: string | undefined; }>; }, "strict", z.ZodTypeAny, { mode: "llm" | "flow" | "hybrid"; name: string; id: string; useCase: string; target: "code" | "config" | "both"; domainAnalysis: { domain: string; subDomain: string; entities: string[]; workflows: string[]; userIntents: string[]; keyOutcomes: string[]; constraints: string[]; }; selectedTools: string[]; toolRecommendations: { description: string; toolName: string; priority: "optional" | "required" | "recommended"; reason: string; whenToUse: string; onError: string; }[]; toolPolicy: Record; promptLayers: { identityAndRole: { name: string; content: string; purpose: string; }; safetyAndGuardrails: { name: string; content: string; purpose: string; }; toolContract: { name: string; content: string; purpose: string; }; reasoningWorkflow: { name: string; content: string; purpose: string; }; executionPolicy: { name: string; content: string; purpose: string; }; outputConstraints: { name: string; content: string; purpose: string; }; }; evalPlan: { scenarios: string[]; passCriteria?: string[] | undefined; }; generationMeta: { model: string; generatedAt: string; llmRequired: boolean; llmEnabled: boolean; interactive: boolean; clarificationCount: number; clarifications: { question: string; answer: string; }[]; llmMode?: string | undefined; }; flowDesign?: { nodes: { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }[]; transitions: { from: string; to: string; trigger: string; condition?: string | undefined; }[]; entryPoint: string; } | undefined; toolSpecifications?: { name: string; description: string; inputSchema: Record; outputSchema: Record; integrationSteps: string[]; requiredAuth?: string[] | undefined; }[] | undefined; }, { mode: "llm" | "flow" | "hybrid"; name: string; id: string; useCase: string; target: "code" | "config" | "both"; domainAnalysis: { domain: string; subDomain: string; entities: string[]; workflows: string[]; userIntents: string[]; keyOutcomes: string[]; constraints: string[]; }; selectedTools: string[]; toolRecommendations: { description: string; toolName: string; priority: "optional" | "required" | "recommended"; reason: string; whenToUse: string; onError: string; }[]; toolPolicy: Record; promptLayers: { identityAndRole: { name: string; content: string; purpose: string; }; safetyAndGuardrails: { name: string; content: string; purpose: string; }; toolContract: { name: string; content: string; purpose: string; }; reasoningWorkflow: { name: string; content: string; purpose: string; }; executionPolicy: { name: string; content: string; purpose: string; }; outputConstraints: { name: string; content: string; purpose: string; }; }; evalPlan: { scenarios: string[]; passCriteria?: string[] | undefined; }; generationMeta: { model: string; generatedAt: string; llmRequired: boolean; llmEnabled: boolean; interactive: boolean; clarificationCount: number; clarifications: { question: string; answer: string; }[]; llmMode?: string | undefined; }; flowDesign?: { nodes: { name: string; id: string; purpose: string; successCriteria: string[]; toolCalls?: string[] | undefined; }[]; transitions: { from: string; to: string; trigger: string; condition?: string | undefined; }[]; entryPoint: string; } | undefined; toolSpecifications?: { name: string; description: string; inputSchema: Record; outputSchema: Record; integrationSteps: string[]; requiredAuth?: string[] | undefined; }[] | undefined; }>; export type AgentBlueprint = z.infer; export type DetailLevel = 'simple' | 'detailed'; export interface ArchitectOptions { useCase: string; mode?: AgentMode; target?: AgentTarget; name?: string; model?: string; contextText?: string; interactive?: boolean; maxQuestions?: number; cwd?: string; detailLevel?: DetailLevel; } export interface ArchitectResult { blueprint: AgentBlueprint; artifacts: { prompt?: string; flow?: object; code?: { prompt?: string; flow?: string; }; rfc?: string; }; }