/**
 * SpecVerse v3.0 Diagram Generator
 *
 * Generates Mermaid diagrams from SpecVerse AST
 * Supports entity-relationship, sequence, and architecture diagrams
 */
import { SpecVerseAST } from '@specverse/types';
export interface DiagramOptions {
    type: 'er' | 'sequence' | 'architecture' | 'lifecycle' | 'deployment';
    includeAttributes?: boolean;
    includeRelationships?: boolean;
    includeEvents?: boolean;
    includeControllers?: boolean;
    includeServices?: boolean;
    includeCapabilities?: boolean;
    includeScaling?: boolean;
}
export declare class UMLGenerator {
    /**
     * Generate diagram based on options
     */
    generate(ast: SpecVerseAST, options?: DiagramOptions): string;
    /**
     * Generate Entity-Relationship Diagram
     */
    private generateERDiagram;
    /**
     * Generate Sequence Diagram for event flows
     */
    private generateSequenceDiagram;
    /**
     * Generate Architecture Diagram showing component relationships
     */
    private generateArchitectureDiagram;
    /**
     * Generate Lifecycle State Diagrams
     */
    private generateLifecycleDiagrams;
    /**
     * Helper methods
     */
    private mapToERType;
    private generateRelationshipLine;
    /**
     * Generate all diagram types for a specification
     */
    generateAll(ast: SpecVerseAST): {
        [type: string]: string;
    };
    /**
     * Generate a summary diagram showing key statistics
     */
    generateSummaryDiagram(ast: SpecVerseAST): string;
    /**
     * Generate a complexity diagram showing relationships between components
     */
    generateComplexityDiagram(ast: SpecVerseAST): string;
    private countSubscriptions;
    /**
     * Generate Deployment Diagram showing logical instances and communication channels
     */
    private generateDeploymentDiagram;
}
//# sourceMappingURL=UML-generator.d.ts.map