/** * Language Detection & Symbol Patterns * Supports 40+ programming languages for universal codebase analysis */ export interface LanguageConfig { name: string; extensions: string[]; commentSingle?: string; commentMultiStart?: string; commentMultiEnd?: string; symbolPatterns: { functions: RegExp[]; classes: RegExp[]; interfaces: RegExp[]; types: RegExp[]; constants: RegExp[]; exports: RegExp[]; }; importPattern?: RegExp; } /** * Detect the programming language of a file based on its extension or filename. * @param filePath - The file path to detect language for. * @returns The detected language name or 'unknown'. */ export declare function detectLanguage(filePath: string): string; /** * Get all file extensions associated with a language. * @param language - The language name. * @returns An array of file extensions for the language. */ export declare function getLanguageExtensions(language: string): string[]; /** * Get all known file extensions from the extension map. * @returns An array of all registered file extensions. */ export declare function getAllKnownExtensions(): string[]; /** * Check if a file is a code file (not data/config/docs). * @param filePath - The file path to check. * @returns True if the file is a code file. */ export declare function isCodeFile(filePath: string): boolean; /** * Get symbol extraction patterns for a given language. * @param language - The language name. * @returns Symbol patterns for the language or generic fallback patterns. */ export declare function getSymbolPatterns(language: string): LanguageConfig['symbolPatterns']; /** * Get import detection patterns for a given language. * @param language - The language name. * @returns An array of RegExp patterns for detecting imports. */ export declare function getImportPatterns(language: string): RegExp[]; /** * Get the comment style for a given language. * @param language - The language name. * @returns The comment style configuration for the language. */ export declare function getCommentStyle(language: string): { single?: string; multiStart?: string; multiEnd?: string; }; /** * Get the category (or categories) a language belongs to. * @param language - The language name. * @returns A comma-separated string of categories or 'General'. */ export declare function getLanguageCategory(language: string): string; //# sourceMappingURL=languages.d.ts.map