/**
 * Diagram Capability Handler
 *
 * Generates Mermaid diagrams (flowcharts, sequence diagrams, class diagrams, etc.)
 * from domain results as cross-cutting artifacts.
 *
 * @module strategies/cross-cutting/diagram-handler
 * @see {@link https://github.com/Anselmoo/mcp-ai-agent-guidelines/blob/development/plan-v0.13.x/specs/SPEC-001-output-strategy-layer.md SPEC-001 §5.3}
 */
import { type CrossCuttingArtifact, CrossCuttingCapability } from "../output-strategy.js";
import type { CapabilityContext, CapabilityHandler } from "./types.js";
/**
 * Handler for generating Mermaid diagram artifacts.
 *
 * Detects appropriate diagram type based on domain result structure
 * and generates corresponding Mermaid syntax wrapped in markdown.
 *
 * @implements {CapabilityHandler}
 */
export declare class DiagramCapabilityHandler implements CapabilityHandler {
    readonly capability = CrossCuttingCapability.DIAGRAM;
    /**
     * Generate a Mermaid diagram artifact from the context.
     *
     * @param context - Context with domain result and metadata
     * @returns Diagram artifact or null if not applicable
     */
    generate(context: CapabilityContext): CrossCuttingArtifact | null;
    /**
     * Check if this handler supports the given domain type.
     *
     * @param domainType - Domain type identifier
     * @returns True if diagrams can be generated for this type
     */
    supports(domainType: string): boolean;
    /**
     * Detect appropriate diagram type based on domain result structure.
     *
     * @param result - Domain result data
     * @param metadata - Optional metadata
     * @returns Diagram type identifier
     */
    private detectDiagramType;
    /**
     * Extract description/content for diagram generation.
     *
     * @param result - Domain result data
     * @param metadata - Optional metadata
     * @returns Description string or null if unavailable
     */
    private extractDiagramDescription;
    /**
     * Generate Mermaid diagram code based on type.
     *
     * @param type - Diagram type
     * @param description - Content description
     * @returns Mermaid syntax
     */
    private generateDiagram;
    /**
     * Generate a flowchart diagram.
     *
     * @param description - Flowchart description
     * @returns Mermaid flowchart syntax
     */
    private generateFlowchart;
    /**
     * Generate a sequence diagram.
     *
     * @param description - Sequence description
     * @returns Mermaid sequence syntax
     */
    private generateSequence;
    /**
     * Generate a class diagram.
     *
     * @param description - Class diagram description
     * @returns Mermaid class diagram syntax
     */
    private generateClassDiagram;
    /**
     * Wrap Mermaid code in markdown with header and footer.
     *
     * @param mermaidCode - Generated Mermaid syntax
     * @param type - Diagram type
     * @returns Markdown-formatted content
     */
    private wrapInMarkdown;
}
//# sourceMappingURL=diagram-handler.d.ts.map