export interface LanguageImportPatterns { [key: string]: RegExp | undefined; es6Import?: RegExp; commonjsRequire?: RegExp; pythonImport?: RegExp; javaImport?: RegExp; goImport?: RegExp; csharpUsing?: RegExp; rustUse?: RegExp; phpUse?: RegExp; rubyRequire?: RegExp; } export interface LanguageFilePatterns { extensions: string[]; namePatterns?: RegExp[]; excludePatterns?: string[]; } export interface LanguageComponentPatterns { modules?: RegExp[]; controllers?: RegExp[]; services?: RegExp[]; repositories?: RegExp[]; models?: RegExp[]; configs?: RegExp[]; middleware?: RegExp[]; routes?: RegExp[]; tests?: RegExp[]; utils?: RegExp[]; } export interface LanguageKeywords { service?: string[]; controller?: string[]; model?: string[]; test?: string[]; config?: string[]; auth?: string[]; database?: string[]; } export interface LanguageConfig { name: string; displayName: string; filePatterns: LanguageFilePatterns; importPatterns: LanguageImportPatterns; componentPatterns: LanguageComponentPatterns; keywords: LanguageKeywords; frameworks?: string[]; packageManager?: string; packageFiles?: string[]; testPatterns?: string[]; } export declare const TYPESCRIPT_CONFIG: LanguageConfig; export declare const C_CPP_CONFIG: LanguageConfig; export declare const KOTLIN_CONFIG: LanguageConfig; export declare const PHP_CONFIG: LanguageConfig; export declare const RUBY_CONFIG: LanguageConfig; export declare const RUST_CONFIG: LanguageConfig; export declare const SCALA_CONFIG: LanguageConfig; export declare const SWIFT_CONFIG: LanguageConfig; export declare const DART_CONFIG: LanguageConfig; export declare const CSS_CONFIG: LanguageConfig; export declare const HTML_CONFIG: LanguageConfig; export declare const JSON_CONFIG: LanguageConfig; export declare const XML_CONFIG: LanguageConfig; export declare const FLEX_CONFIG: LanguageConfig; export declare const PYTHON_CONFIG: LanguageConfig; export declare const JAVA_CONFIG: LanguageConfig; export declare const GO_CONFIG: LanguageConfig; export declare const CSHARP_CONFIG: LanguageConfig; export declare class LanguageRegistry { private static instance; private languages; private constructor(); static getInstance(): LanguageRegistry; register(config: LanguageConfig): void; get(languageName: string): LanguageConfig | undefined; getAll(): LanguageConfig[]; isSupported(languageName: string): boolean; detectFromExtension(extension: string): LanguageConfig | undefined; getAllExtensions(): string[]; getAllExcludePatterns(): string[]; extend(languageName: string, partial: Partial): void; } export declare function getLanguageRegistry(): LanguageRegistry; export declare function registerLanguage(config: LanguageConfig): void; export declare function extendLanguage(languageName: string, partial: Partial): void; export declare function getSupportedLanguages(): string[]; export declare function getKeywordsByCategory(category: keyof LanguageKeywords): string[]; export declare function getSecurityKeywords(): string[]; export declare function getLanguageFromExtension(filePath: string): string; export declare function isComponentType(filePath: string, componentType: keyof LanguageComponentPatterns): boolean; export declare function getComponentFiles(files: string[], componentType: keyof LanguageComponentPatterns): string[]; export declare function getSchemaFiles(files: string[]): { models: string[]; configs: string[]; all: string[]; }; export declare function isCodeFile(filePath: string): boolean; export declare function getCodeFiles(files: string[]): string[]; export declare function isTestFile(filePath: string): boolean; export declare function isConfigFile(filePath: string): boolean; export declare function getTestFiles(files: string[]): string[]; export declare function getConfigFiles(files: string[]): string[]; export declare function getPackageFiles(files: string[]): string[]; export declare function getTestPatterns(): string[]; export declare function getExcludePatterns(): string[]; export declare function applyLanguageConfig(languageConfig?: { custom?: Record; componentPatterns?: Record; keywords?: Record; frameworks?: string[]; packageManager?: string; packageFiles?: string[]; testPatterns?: string[]; }>; overrides?: Record; packageManager?: string; }>; }): void; export declare function matchesTestPattern(filePath: string): boolean; export declare function matchesPackageFile(filePath: string): boolean; export declare function getComponentTypes(): Array; export declare function getKeywordCategories(): Array; export declare function getPackageManagersFromLanguages(languageNames: string[]): string[]; export declare function extractImportsFromCode(content: string, filePath: string): string[]; //# sourceMappingURL=language-config.d.ts.map