/**
 * Planner Service
 *
 * The "Planner Layer" in the MyContext compiler pipeline.
 * Responsible for:
 * 1. Validating ASL for 100% completeness
 * 2. Generating clarifying questions for gaps
 * 3. Creating diff previews before generation
 * 4. Task decomposition with confidence scoring (NEW)
 * 5. Auto-inference for high-confidence tasks (NEW)
 *
 * The Planner ensures NO code is generated until the specification is perfect.
 */
import type { ASL, ASLValidationResult, Question, DiffPreview, InferenceTask, PlannerState, ContextRevelation, Checkpoint } from "../types/asl";
export declare class Planner {
    private state;
    private inferenceEngine;
    private aiCore;
    constructor();
    /**
     * Decompose initial input into inference tasks with confidence scores
     */
    decompose(initialInput: string): Promise<InferenceTask[]>;
    /**
     * Select next task to execute based on dependencies and confidence
     */
    selectNextTask(): InferenceTask | null;
    /**
     * Mark task as completed and update state
     */
    markTaskComplete(taskId: string): void;
    /**
     * Update dependent tasks after a task completes
     */
    updateDependentTasks(completedTask: InferenceTask): void;
    /**
     * Reveal context to user (what was inferred and why)
     */
    revealContext(task: InferenceTask, inference: Partial<ASL>): ContextRevelation[];
    /**
     * Create checkpoint summary before proceeding
     */
    createCheckpoint(autoInferredTasks: InferenceTask[]): Checkpoint;
    /**
     * Get current planner state
     */
    getState(): PlannerState;
    /**
     * Update overall confidence score
     */
    private updateConfidenceScore;
    /**
     * Build decomposition prompt
     */
    private buildDecompositionPrompt;
    /**
     * Validate ASL for completeness and correctness
     */
    validate(asl: Partial<ASL>): ASLValidationResult;
    /**
     * Generate clarifying questions for gaps in ASL
     */
    generateQuestions(asl: Partial<ASL>): Question[];
    /**
     * Generate diff preview showing what will be generated
     */
    generateDiff(asl: ASL): DiffPreview;
    /**
     * Check if ASL is complete enough for generation
     */
    isComplete(asl: Partial<ASL>): boolean;
    private generateSchemaPreview;
    private generateTypesPreview;
    private pageSpecToPath;
    private estimateSize;
}
//# sourceMappingURL=Planner.d.ts.map