/**
 * Semantic Intent Classifier
 *
 * Replaces brittle `.includes()` keyword matching with a multi-signal
 * scoring system that understands natural language intent.
 *
 * Pure functions, zero I/O, zero external dependencies.
 *
 * Signals:
 *  1. Token overlap — query words that appear in candidate keywords
 *  2. Stem matching — suffix-stripped matching (simulate ↔ simulation)
 *  3. Concept clusters — domain-level semantic groupings
 *  4. Enterprise simulation boost — multi-cluster cross-signal
 */
export interface KeywordRule {
    domain: string;
    agent: string;
    keywords: string[];
}
export interface MultiAgentCombo {
    id: string;
    keywords: string[];
    agents: Array<{
        domain: string;
        agent: string;
    }>;
}
export interface ScoredIntent {
    domain: string;
    agent: string;
    confidence: number;
    reasoning: string;
}
export interface ScoredMultiIntent {
    comboId: string;
    agents: Array<{
        domain: string;
        agent: string;
    }>;
    confidence: number;
    reasoning: string;
}
export interface EnterpriseSimulationResult {
    detected: boolean;
    confidence: number;
    reasoning: string;
}
/**
 * Split text into lowercase word tokens.
 * Preserves hyphenated compounds (e.g., "what-if") as single tokens
 * AND splits them into parts so both "what-if" and "what", "if" match.
 */
export declare function tokenize(text: string): string[];
/**
 * Filter tokens to only meaningful words (remove stop words).
 * Used for scoring to prevent generic words from inflating matches.
 */
export declare function filterStopWords(tokens: string[]): string[];
export declare function stem(word: string): string;
/**
 * Detect whether a query is an enterprise simulation request.
 *
 * Returns detected=true when the query shows BOTH:
 *   1. Strong simulation intent (cluster match)
 *   2. Enterprise context (2+ of: enterprise, governance, risk, cost clusters)
 *
 * Also returns true for direct simulation phrases (backward compat).
 */
export declare function detectEnterpriseSimulation(query: string): EnterpriseSimulationResult;
export interface EngineeringPipelineResult {
    detected: boolean;
    confidence: number;
    reasoning: string;
    hasErpContext: boolean;
    hasSecurityContext: boolean;
    hasPerformanceContext: boolean;
}
/**
 * Detect whether a query is an engineering/implementation request
 * (build, implement, develop, integrate, create a system, etc.)
 * as distinct from a pure simulation or advisory request.
 *
 * Engineering requests should dispatch the FULL agent fleet:
 * research, SPARC decomposition, TDD planning, ADR/DDD, integration,
 * security, cost analysis, and ruvector simulation.
 */
export declare function detectEngineeringPipeline(query: string): EngineeringPipelineResult;
/**
 * Score all multi-agent combos against the query.
 * Returns the best-scoring combo if it exceeds the threshold, or null.
 */
export declare function classifyMultiIntent(query: string, combos: MultiAgentCombo[]): ScoredMultiIntent | null;
/**
 * Score all keyword rules against the query.
 * Returns the best-scoring intent if it exceeds the threshold, or null.
 */
export declare function classifyIntent(query: string, rules: KeywordRule[]): ScoredIntent | null;
//# sourceMappingURL=intent-classifier.d.ts.map