/**
 * Cross-Cutting Feature Detector
 *
 * Detects when a feature spans multiple projects based on keywords,
 * tech stack mentions, and component references.
 *
 * @module utils/cross-cutting-detector
 * @since v0.33.0
 */
import { Logger } from './logger.js';
/**
 * Result of cross-cutting detection
 */
export interface CrossCuttingResult {
    isCrossCutting: boolean;
    confidence: 'high' | 'medium' | 'low';
    suggestedProjects: string[];
    detectedPatterns: DetectedPattern[];
    reason?: string;
}
/**
 * Pattern that triggered detection
 */
export interface DetectedPattern {
    type: 'keyword' | 'tech-stack' | 'component' | 'explicit';
    matched: string;
    suggestedProject?: string;
}
/**
 * Cross-Cutting Detector
 */
export declare class CrossCuttingDetector {
    private logger;
    private customMappings;
    constructor(options?: {
        logger?: Logger;
        customMappings?: Record<string, string[]>;
    });
    /**
     * Detect if a description indicates cross-cutting concerns
     */
    detect(description: string): CrossCuttingResult;
    /**
     * Add custom project mappings
     */
    addCustomMapping(project: string, keywords: string[]): void;
    /**
     * Load custom mappings from config
     */
    loadMappingsFromConfig(projectMappings: Record<string, unknown>): void;
    /**
     * Escape regex special characters
     */
    private escapeRegex;
}
/**
 * Convenience function for one-off detection
 */
export declare function detectCrossCutting(description: string, options?: {
    customMappings?: Record<string, string[]>;
}): CrossCuttingResult;
/**
 * Get suggested project for a single-project feature
 */
export declare function suggestSingleProject(description: string): string | null;
//# sourceMappingURL=cross-cutting-detector.d.ts.map