import { SubAgent } from "../interfaces/SubAgent";
export interface BuildStrategyInput {
    projectPath: string;
    strategyType?: "recommend" | "plan" | "tasks" | "compare";
    specificStrategy?: string;
    phaseNumber?: number;
    userPreferences?: {
        projectType: "client" | "personal" | "team" | "mvp" | "enterprise";
        complexity: "simple" | "medium" | "complex";
        userRoles: "single" | "multiple";
        timeline: "urgent" | "moderate" | "flexible";
        teamSize: "solo" | "small" | "large";
    };
}
export interface BuildStrategyOutput {
    strategy: {
        id: string;
        name: string;
        description: string;
        icon: string;
        complexity: "low" | "medium" | "high";
        timeToFirstDemo: string;
        bestFor: string[];
        pros: string[];
        cons: string[];
        phases: BuildPhase[];
    };
    recommendations?: {
        recommended: any[];
        reasoning: string;
        alternatives: any[];
    };
    plan?: {
        strategy: any;
        plan: any[];
        totalDuration: string;
        milestones: string[];
    };
    taskList?: {
        phase: BuildPhase;
        tasks: TaskDetail[];
    };
    contextAnalysis: {
        projectName: string;
        description: string;
        components: string[];
        userRoles: string[];
        techStack: string[];
        contextCompleteness: number;
        accuracyLevel: "excellent" | "good" | "limited";
    };
    llmInsights: {
        projectComplexity: string;
        riskFactors: string[];
        successFactors: string[];
        customRecommendations: string[];
    };
}
export interface BuildPhase {
    phase: number;
    name: string;
    duration: string;
    tasks: string[];
    deliverables: string[];
    successCriteria: string;
}
export interface TaskDetail {
    id: string;
    title: string;
    description: string;
    priority: "high" | "medium" | "low";
    estimatedTime: string;
    dependencies: string[];
    deliverables: string[];
}
export declare class BuildStrategyAgent implements SubAgent<BuildStrategyInput, BuildStrategyOutput> {
    name: string;
    description: string;
    personality: string;
    llmProvider: string;
    expertise: string[];
    private aiClient;
    private contextLoader;
    constructor();
    run(input: BuildStrategyInput): Promise<BuildStrategyOutput>;
    validate(input: BuildStrategyInput): Promise<boolean>;
    cleanup(): Promise<void>;
    getStatus(): Promise<any>;
    private analyzeProjectContext;
    private generateLLMInsights;
    private generateRecommendations;
    private generateBuildPlan;
    private generateTaskList;
    private generateComparison;
    private getDefaultStrategy;
    private getDefaultPhase;
    private getDefaultTask;
}
//# sourceMappingURL=BuildStrategyAgent.d.ts.map