/**
 * InferenceEngine
 *
 * LLM-powered inference system that auto-completes high-confidence tasks,
 * self-critiques its own work, and learns from user corrections.
 */
import type { ASL, InferenceTask, InferenceResult, SelfCritique } from "../types/asl";
export declare class InferenceEngine {
    private learningContext;
    private aiCore;
    constructor();
    /**
     * Run LLM-based inference for a task
     */
    infer(task: InferenceTask, currentASL: Partial<ASL>, completedTasks: InferenceTask[]): Promise<InferenceResult>;
    /**
     * Self-critique: LLM validates its own inference
     */
    selfCritique(inference: InferenceResult, currentASL: Partial<ASL>): Promise<SelfCritique>;
    /**
     * Feed inference results to downstream tasks
     * Updates confidence and dependencies
     */
    feedToNextTasks(completedTask: InferenceTask, pendingTasks: InferenceTask[]): InferenceTask[];
    /**
     * Learn from user correction
     */
    learnFromCorrection(taskId: string, inferredValue: any, correctedValue: any, reason?: string): Promise<void>;
    /**
     * Detect patterns from user corrections
     */
    private detectPatterns;
    /**
     * Get learning context for prompt injection
     */
    getLearningContext(): string;
    private buildInferencePrompt;
    private buildCritiquePrompt;
    private buildPatternDetectionPrompt;
}
//# sourceMappingURL=InferenceEngine.d.ts.map