export type DiagramType = 'flowchart' | 'sequence' | 'class' | 'er' | 'architecture';
export type DiagramNodeShape = 'rectangle' | 'rounded' | 'circle' | 'diamond' | 'hexagon' | 'stadium';
export type DiagramNode = {
    id: string;
    label: string;
    shape?: DiagramNodeShape;
    group?: string;
    style?: string;
};
export type DiagramEdge = {
    from: string;
    to: string;
    label?: string;
    style?: 'solid' | 'dashed' | 'dotted' | 'thick';
    arrowhead?: 'normal' | 'open' | 'none';
};
export type DiagramLayoutDirection = 'TB' | 'BT' | 'LR' | 'RL';
export type AgentDiagramData = {
    type: DiagramType;
    title?: string;
    direction?: DiagramLayoutDirection;
    nodes: DiagramNode[];
    edges: DiagramEdge[];
    participants?: string[];
    messages?: Array<{
        from: string;
        to: string;
        label: string;
        type?: 'sync' | 'async' | 'reply';
    }>;
};
export type DiagramOutputFormat = 'mermaid' | 'maxgraph-json' | 'drawio';
export type MaxGraphNode = {
    id: string;
    value: string;
    x: number;
    y: number;
    width: number;
    height: number;
    style?: string;
    parent?: string;
};
export type MaxGraphEdge = {
    id: string;
    source: string;
    target: string;
    value?: string;
    style?: string;
};
export type MaxGraphJson = {
    nodes: MaxGraphNode[];
    edges: MaxGraphEdge[];
};
