/**
 * Capability Classifier (ADR-030)
 *
 * Extracts capability names from a user prompt by matching against
 * the ecosystem graph's capability names and tags.
 *
 * Classification strategy (ordered by priority):
 * 1. Exact match — prompt contains a capability name verbatim
 * 2. Tag match  — prompt contains a tag from a capability entry
 * 3. Description match — prompt words overlap with capability descriptions
 *
 * No LLM calls. Pure keyword extraction for deterministic, zero-latency routing.
 */
import type { EcosystemGraph } from './graph-loader.js';
export interface ClassifiedCapability {
    /** Capability name from the graph. */
    readonly name: string;
    /** How the match was determined. */
    readonly matchType: 'exact' | 'tag' | 'description';
    /** The specific token(s) from the prompt that triggered the match. */
    readonly matchedTokens: readonly string[];
    /** Confidence score 0.0-1.0. Exact > tag > description. */
    readonly confidence: number;
}
export interface ClassificationResult {
    /** All matched capabilities, sorted by confidence descending. */
    readonly capabilities: readonly ClassifiedCapability[];
    /** Normalized prompt tokens used for matching. */
    readonly promptTokens: readonly string[];
}
/**
 * Classify a user prompt against the ecosystem capability graph.
 *
 * Returns matched capabilities with confidence scores and match metadata.
 * Zero-cost: no LLM calls, no network, no async.
 */
export declare function classifyCapabilities(prompt: string, graph: EcosystemGraph): ClassificationResult;
/**
 * Extract just the capability names from a classification result.
 * Convenience method for the router.
 */
export declare function extractCapabilityNames(result: ClassificationResult): string[];
//# sourceMappingURL=capability-classifier.d.ts.map