import type { BlockReadProps, BlockEditProps } from "../types.js"; import { type DiagramData } from "./diagram.config.js"; /** * Enlarge overlay for a rendered diagram. Mirrors the image lightbox contract * used by the composer's `ImagePreviewLightbox` (PromptComposer.tsx) so the * expand affordance feels identical to viewing an image full-size: a fixed * `bg-black/80` backdrop, Escape to close, click-the-backdrop to close, and a * top-right close button. Unlike the image variant this renders arbitrary * children (the diagram body re-rendered larger) rather than an ``, since a * diagram is live HTML/SVG/node-graph markup, not an image URL. * * Exported so the separate Mermaid block (`MermaidBlock.tsx`, which renders its * diagram to an SVG through a different runtime) can reuse the exact same * lightbox contract — one expand affordance shared across both diagram types. */ export declare function DiagramLightbox({ children, onClose, }: { children: React.ReactNode; onClose: () => void; }): import("react").JSX.Element; /** Read-only renderer: the diagram body wrapped in the standard titled block. */ export declare function DiagramRead({ data, blockId, title, summary, ctx, compactVisuals, }: BlockReadProps): import("react").JSX.Element; /** * Edit form (panel surface). The block can be an HTML/SVG fragment or a legacy * node/edge/note graph, so this exposes html/css/caption plus a collapsible * legacy node-graph JSON editor, each with an AI-edit affordance via * `ctx.renderAiFieldAction` (through `AiEditableFieldLabel`). `editSurface: * "panel"` means the registry renders the `Read` view with a corner edit button * that opens this form in the app-provided popover. */ export declare function DiagramEdit({ data, onChange, editable, blockId, title, summary, ctx, }: BlockEditProps): import("react").JSX.Element; /** Full client spec for the shared `diagram` block (schema + MDX + Read/Edit). */ export declare const diagramBlock: import("../types.js").BlockSpec; //# sourceMappingURL=diagram.d.ts.map