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