/** * Architecture Validation Service * * Validates architecture rules, layer boundaries, naming conventions, * and file organization patterns */ import { ArchitectureConfig, ArchitectureValidationResult, ArchitectureValidationOptions, FileCheckResult, PlacementSuggestion } from "../types/architecture.js"; /** * Service for validating architecture rules and layer boundaries. * * Checks import dependencies, naming conventions, and file organization * against configurable architecture rules. */ export declare class ArchitectureService { private projectRoot; private config; private configPath; /** * @param projectRoot - Root directory of the project */ constructor(projectRoot: string); /** * Load architecture configuration */ loadConfig(): Promise; /** * Merge user config with defaults */ private mergeWithDefaults; /** * Validate entire project architecture */ validateArchitecture(options?: ArchitectureValidationOptions): Promise; /** * Check a single file against architecture rules */ checkFile(filePath: string): Promise; /** * Suggest correct placement for a file */ suggestPlacement(filePath: string): Promise; /** Directories to exclude from scanning */ private static readonly EXCLUDE_DIRS; /** * Get all source files for validation */ private getSourceFiles; /** * Recursively walk directory to find TypeScript files */ private walkDirectory; /** * Check if file is a TypeScript source file */ private isSourceFile; /** * Get layer information for a file */ private getFileLayerInfo; /** * Parse imports from a TypeScript file */ private parseImports; /** * Detect which layer an import belongs to */ private detectImportLayer; /** * Check if import is allowed based on layer rules */ private isImportAllowed; /** * Check naming convention */ private checkNamingConvention; /** * Check file organization */ private checkFileOrganization; /** * Check custom rules */ private checkCustomRules; /** * Detect file type based on naming */ private detectFileType; /** * Detect suggested layer based on content */ private detectSuggestedLayer; /** * Generate suggested path */ private generateSuggestedPath; /** * Generate suggested name */ private generateSuggestedName; /** * Calculate placement confidence */ private calculatePlacementConfidence; /** * Generate alternative suggestions */ private generateAlternatives; /** * Generate placement reason */ private generatePlacementReason; /** * Filter violations by minimum severity */ private filterBySeverity; /** * Match file path against glob pattern */ private matchPattern; /** * Match filename against glob pattern */ private matchGlobPattern; /** * Safely read file content */ private safeReadFile; } //# sourceMappingURL=architecture-service.d.ts.map