/** * @jsxRuntime classic * @jsx jsx */ import React from 'react'; import { type TDialogProps } from './types'; /** * Low-level `` primitive. No visual opinions - no width, height, * background, border-radius, or layout. Consumers provide their own styling. * * Visibility is controlled declaratively via `isOpen`: * - `isOpen={true}` calls `.showModal()` (entry animation via `@starting-style`) * - `isOpen={false}` calls `.close()` (exit animation via `allow-discrete`) * * Handles native `cancel` event (Escape) and backdrop click detection. * * Close flow: we never call `dialog.close()` from event handlers. We always call * `onClose`; the consumer decides whether to set `isOpen={false}`. * * Accessibility: render at least one focusable element (typically a close * button) when `isOpen` becomes `true`. Tab is always trapped inside the * dialog, so keyboard users need somewhere to land. */ export declare const Dialog: React.ForwardRefExoticComponent>;