/**
 * Hypothesis Generator (Multi-turn Enhanced)
 *
 * Generates initial hypotheses about performance issues based on user query and intent.
 * Now supports multi-turn dialogue by:
 * - Considering previous findings to generate more targeted hypotheses
 * - Generating drill-down hypotheses for follow-up queries
 * - Avoiding redundant hypotheses based on conversation history
 *
 * Uses LLM for intelligent hypothesis generation, with keyword-based fallback.
 */
import { Intent } from '../types';
import { Hypothesis } from '../types/agentProtocol';
import { ModelRouter } from './modelRouter';
import { DomainAgentRegistry } from '../agents/domain';
import { ProgressEmitter } from './orchestratorTypes';
import { EnhancedSessionContext } from '../context/enhancedSessionContext';
/**
 * Create a hypothesis with standard fields.
 */
export declare function createHypothesis(description: string, confidence: number, relevantAgents?: string[]): Hypothesis;
/**
 * Generate initial hypotheses using LLM reasoning.
 * Falls back to keyword-based defaults if LLM fails.
 *
 * For follow-up queries, generates targeted hypotheses based on:
 * - The type of follow-up (drill_down, extend, compare, clarify)
 * - Previous findings from conversation history
 * - Referenced entities from the intent
 *
 * @param query - User's query
 * @param intent - Understood intent (may include follow-up info)
 * @param sessionContext - Optional session context for multi-turn support
 * @param modelRouter - Model router for LLM calls
 * @param agentRegistry - Registry of domain agents
 * @param emitter - Progress emitter
 */
export declare function generateInitialHypotheses(query: string, intent: Intent, sessionContext: EnhancedSessionContext | null, modelRouter: ModelRouter, agentRegistry: DomainAgentRegistry, emitter: ProgressEmitter): Promise<Hypothesis[]>;
export declare function translateFollowUpType(type: string): string;
/**
 * Generate keyword-based default hypotheses when LLM is unavailable.
 * Covers all major performance issue categories comprehensively.
 */
export declare function generateDefaultHypotheses(query: string): Hypothesis[];
//# sourceMappingURL=hypothesisGenerator.d.ts.map