/**
 * Layer Detector Registry
 *
 * Dispatches layer detection to language-specific detectors.
 * Config-defined layers always win over auto-detection.
 */
import type { LayerDetector, ArchLayer } from '../types';
export declare function getAllLayerDetectors(): LayerDetector[];
export declare function registerLayerDetector(detector: LayerDetector): void;
export interface FileLayerAssignment {
    filePath: string;
    layerName: string;
    confidence: number;
    matchedPattern: string;
}
/**
 * Run all language-specific layer detectors against the file list.
 * Each file gets at most one layer assignment (highest confidence wins).
 * Config-defined layers (confidence=1.0) always beat auto-detected ones.
 *
 * @param files - relative file paths (from project root)
 * @param projectRoot - absolute project root path
 * @param configLayers - user-defined layer→glob overrides from config
 */
export declare function detectAllLayers(files: string[], projectRoot: string, configLayers?: Record<string, string[]>): Promise<FileLayerAssignment[]>;
/**
 * From a list of FileLayerAssignment, derive the unique ArchLayer records.
 */
export declare function buildArchLayers(assignments: FileLayerAssignment[], configLayers?: Record<string, string[]>): ArchLayer[];
//# sourceMappingURL=index.d.ts.map