/** * @angular-modernizer/plugin-angular - Architecture Configuration * * Configurable architecture definitions for different project types. * Allows teams to define their own layer boundaries and architectural rules. */ import { ArchitectureLayer, ModuleType, type ArchitectureConfig } from './types.js'; /** * Predefined architecture configurations for common project types */ export declare const ARCHITECTURE_PRESETS: { /** * Standard Angular Architecture (as used in the analyzed codebase) */ angular: ArchitectureConfig; /** * Clean Architecture (Hexagonal) */ cleanArchitecture: ArchitectureConfig; /** * Onion Architecture */ onionArchitecture: ArchitectureConfig; /** * Custom configuration for teams to define their own architecture */ custom: ArchitectureConfig; }; /** * Architecture Configuration Builder * Allows teams to create custom architecture configurations */ export declare class ArchitectureConfigBuilder { private config; /** * Add a layer definition */ addLayer(layer: ArchitectureLayer, canImportFrom: ArchitectureLayer[], pathPatterns: string[], allowedTypes: ModuleType[]): this; /** * Set boundary rules */ setBoundaries(boundaries: { maxCircularDepth?: number; maxClassSize?: number; maxServiceDependencies?: number; }): this; /** * Build the configuration */ build(): ArchitectureConfig; /** * Create from preset */ static fromPreset(presetName: keyof typeof ARCHITECTURE_PRESETS): ArchitectureConfigBuilder; } /** * Default configuration (Angular preset) */ export declare const DEFAULT_ARCHITECTURE_CONFIG: ArchitectureConfig; //# sourceMappingURL=architecture-config.d.ts.map