/**
 * ArchitecturePlugin - System architecture visualization
 *
 * Supports:
 * - mvc-architecture: MVC architecture overview
 * - service-architecture: Service layer architecture
 * - component-dependencies: Component dependency graph
 */
import { BaseDiagramPlugin } from '../../core/BaseDiagramPlugin.js';
import { DiagramType, DiagramContext, MermaidDiagram, ValidationResult } from '../../types/index.js';
import { SpecVerseAST } from '@specverse/types';
export declare class ArchitecturePlugin extends BaseDiagramPlugin {
    name: string;
    version: string;
    description: string;
    supportedTypes: DiagramType[];
    /**
     * Generate diagram based on type
     */
    generate(context: DiagramContext, type: DiagramType): MermaidDiagram;
    /**
     * Validate AST for architecture diagram generation
     */
    validate(ast: SpecVerseAST): ValidationResult;
    /**
     * Generate MVC architecture diagram
     *
     * Shows traditional Model-View-Controller architecture with:
     * - Models layer (data and business logic)
     * - Controllers layer (request handling)
     * - Views layer (presentation)
     * - Services layer (optional business logic)
     */
    private generateMVCArchitecture;
    /**
     * Generate service architecture diagram
     *
     * Shows service layer organization with:
     * - Service groupings by domain/responsibility
     * - Service dependencies
     * - Model usage by services
     */
    private generateServiceArchitecture;
    /**
     * Generate component dependencies diagram
     *
     * Shows dependencies between components:
     * - Import relationships
     * - Model references
     * - Service dependencies
     * - Component boundaries
     */
    private generateComponentDependencies;
    /**
     * Get default options for architecture diagrams
     */
    getDefaultOptions(): {
        includeModels: boolean;
        includeControllers: boolean;
        includeServices: boolean;
        includeViews: boolean;
        title: string;
    };
}
//# sourceMappingURL=ArchitecturePlugin.d.ts.map