import { ContainerStyle, LabelStyle, Position } from "../interfaces.js"; import type { ExcalidrawLinearElement } from "@excalidraw/excalidraw/element/types"; import type { NodeData as MermaidStateNode, StateDB } from "mermaid/dist/diagrams/state/stateDb.js"; type StateShape = MermaidStateNode["shape"]; type DividerLine = { startX: number; startY: number; endX: number; endY: number; }; export interface StateNode { id: string; shape: StateShape; text: string; description: string[]; x: number; y: number; width: number; height: number; parentId?: string; position?: string; containerStyle: ContainerStyle; labelStyle: LabelStyle; dividerLine?: DividerLine; endInnerColor?: string; isRenderable: boolean; } export interface StateEdge { id: string; start: string; end: string; text: string; startX: number; startY: number; endX: number; endY: number; reflectionPoints: Position[]; strokeColor?: string; strokeWidth?: number; strokeStyle?: ExcalidrawLinearElement["strokeStyle"]; isNoteEdge?: boolean; } export interface State { type: "state"; nodes: StateNode[]; edges: StateEdge[]; } export declare const parseMermaidStateDiagram: (db: StateDB, containerEl: Element) => State; export {};