import { DomainAgentRegistry } from '../../agents/domain';
import { IterationStrategyPlanner } from '../../agents/iterationStrategyPlanner';
import { AnalysisExecutor } from './analysisExecutor';
import { AnalysisServices, ExecutionContext, ExecutorResult, ProgressEmitter } from '../orchestratorTypes';
import type { FocusStore } from '../../context/focusStore';
interface InterventionConfig {
    /** Confidence threshold below which intervention is triggered */
    confidenceThreshold: number;
    /** Maximum analysis time before timeout intervention (ms) */
    timeoutThresholdMs: number;
    /** Enable automatic interventions */
    autoIntervention: boolean;
}
export declare class HypothesisExecutor implements AnalysisExecutor {
    private services;
    private agentRegistry;
    private strategyPlanner;
    private focusStore?;
    private interventionConfig;
    constructor(services: AnalysisServices, agentRegistry: DomainAgentRegistry, strategyPlanner: IterationStrategyPlanner, interventionConfig?: Partial<InterventionConfig>);
    /**
     * Set FocusStore for focus-aware analysis planning (v2.0)
     */
    setFocusStore(focusStore: FocusStore): void;
    execute(ctx: ExecutionContext, emitter: ProgressEmitter): Promise<ExecutorResult>;
    private evaluateEarlyStop;
    /**
     * Estimate current analysis confidence based on findings and hypotheses.
     */
    private estimateCurrentConfidence;
    /**
     * Build possible analysis directions from current hypotheses.
     */
    private buildPossibleDirections;
    /**
     * Check if intervention conditions are met.
     */
    private checkInterventionConditions;
    private buildEvaluation;
    /**
     * Build user focus context string for LLM prompts (v2.0)
     */
    private buildFocusContext;
    /**
     * Calculate how well findings align with user focus (v2.0)
     */
    private calculateFocusAlignment;
    private emitEvidenceBasedHypothesesIfReady;
    private buildEvidenceSummary;
}
export {};
//# sourceMappingURL=hypothesisExecutor.d.ts.map