import type { SpecDiagram, Spec, ProjectKnowledge } from '../types/index.js';
/**
 * Generate all applicable diagrams for a spec based on its scope and context.
 */
export declare function generateDiagrams(spec: Spec, knowledge: ProjectKnowledge | null, options: {
    hasDatabase: boolean;
    hasUi: boolean;
    hasTransitions: boolean;
}): SpecDiagram[];
/**
 * Generate a data flow diagram: Client -> Action -> Service -> Repo -> DB
 */
export declare function generateDataFlowDiagram(spec: Spec, knowledge: ProjectKnowledge | null): SpecDiagram;
/**
 * Generate an ER diagram for database changes.
 */
export declare function generateErDiagram(spec: Spec, knowledge: ProjectKnowledge | null): SpecDiagram;
/**
 * Generate a sequence diagram for cross-module interactions.
 */
export declare function generateSequenceDiagram(spec: Spec, knowledge: ProjectKnowledge | null): SpecDiagram;
/**
 * Generate a component diagram for UI specs.
 */
export declare function generateComponentDiagram(spec: Spec, knowledge: ProjectKnowledge | null): SpecDiagram;
/**
 * Generate a state machine diagram for transitions.
 */
export declare function generateStateDiagram(spec: Spec): SpecDiagram;
/**
 * Generate an architecture diagram for architectural specs.
 */
export declare function generateArchitectureDiagram(spec: Spec, knowledge: ProjectKnowledge | null): SpecDiagram;
/**
 * Format diagrams as Mermaid code blocks for inclusion in markdown.
 */
export declare function formatDiagramsAsMarkdown(diagrams: SpecDiagram[]): string;
//# sourceMappingURL=mermaid-generator.d.ts.map