/**
 * LanguageAnalyzer - Analyzes project to recommend LSP servers
 *
 * Uses weighted scoring to identify the top languages in a project.
 * Project files (package.json, .sln, go.mod) score higher than source files.
 *
 * @see spec.md US-003: LSP Server Recommendations
 * @satisfies AC-US3-01, AC-US3-02
 */
/**
 * Filesystem abstraction for testing
 */
export interface FileSystemProvider {
    glob(pattern: string, cwd: string): Promise<string[]>;
    exists(path: string): Promise<boolean>;
}
/**
 * Language detection result with scoring
 */
export interface LanguageScore {
    /** Language identifier (e.g., 'typescript', 'csharp') */
    language: string;
    /** Weighted score */
    score: number;
    /** Project files found (e.g., package.json, .sln) */
    projectFiles: string[];
    /** Source files found (e.g., .ts, .cs) */
    sourceFiles: string[];
}
/**
 * Analyzes a project to identify the primary programming languages
 */
export declare class LanguageAnalyzer {
    private readonly fs;
    constructor(fs: FileSystemProvider);
    /**
     * Analyze a project directory to identify languages
     *
     * @param projectRoot - Root directory of the project
     * @returns Promise resolving to sorted array of language scores (max 3)
     */
    analyze(projectRoot: string): Promise<LanguageScore[]>;
    private scoreLanguage;
    private findFiles;
    private filterIgnoredDirs;
}
//# sourceMappingURL=language-analyzer.d.ts.map