import type { DialogHTMLAttributes, ReactNode, Ref } from "react"; type Width = 400 | 560 | 720; export interface DialogProps extends Omit, "title" | "onClose" | "open"> { /** Controlled open state; syncs to showModal()/close(). */ open: boolean; /** Called on every dismissal attempt with its source; the consumer flips `open`. */ onClose: (reason: "esc" | "backdrop" | "close-button") => void; /** Heading; renders an

wired to aria-labelledby. Without it, pass aria-label. */ title?: ReactNode; /** Action row (Buttons — one accent per group, danger for destructive). */ footer?: ReactNode; /** Panel width in px (400 | 560 | 720). @default 560 */ width?: Width; /** false = no close button, Esc and backdrop swallowed — footer is the only exit. @default true */ dismissible?: boolean; /** Forwarded ref to the underlying element. */ ref?: Ref; } /** Modal dialog on the native top layer: focus trap, aria-modal and * focus restore come from the platform; title/footer slots, Esc/backdrop/ * close-button dismissal via onClose(reason) (D50). */ export declare function Dialog({ open, onClose, title, footer, width, dismissible, className, children, ref, ...rest }: DialogProps): import("react").JSX.Element; export {}; //# sourceMappingURL=Dialog.d.ts.map