import * as React from 'react'; import type { DrawerPlacement } from '../drawer/types.cjs'; import type { DialogContextValue, DialogDismiss, DialogFamily, DialogProps, DialogRole } from './types.cjs'; export declare const DialogProvider: React.FC, useDialogContext: (consumerName: string) => DialogContextValue; /** @internal Props for {@link DialogStateProvider}. Not part of the public API. */ export interface DialogStateProviderProps { children?: React.ReactNode | undefined; family: DialogFamily; open?: boolean | undefined; defaultOpen?: boolean | undefined; onOpenChange?: ((open: boolean) => void) | undefined; onOpenChangeComplete?: ((open: boolean) => void) | undefined; modal: boolean; inline?: boolean | undefined; dismiss: DialogDismiss; role?: DialogRole | undefined; status?: string | undefined; placement?: DrawerPlacement | undefined; } /** * The open state, element refs and generated ids every dialog and drawer part * reads, published under one context so a single part implementation serves * both families. * * @internal */ export declare function DialogStateProvider({ children, family, inline, open: openProp, defaultOpen, onOpenChange, onOpenChangeComplete, modal, dismiss, role, status, placement, }: DialogStateProviderProps): React.JSX.Element; export declare namespace DialogStateProvider { var displayName: string; } /** Props for {@link DialogRoot}: {@link DialogProps} minus the derived-anatomy-only props. */ export type DialogRootProps = Omit; /** * State/context primitive that owns open state and hands it to all dialog parts via context, rendering `children` verbatim with no DOM element of its own. */ export declare function DialogRoot({ inline, children, open, defaultOpen, onOpenChange, onOpenChangeComplete, modal, dismiss, dismissible, role, status, }: DialogRootProps): React.JSX.Element; export declare namespace DialogRoot { var displayName: string; } /** * Recipe for a modal (by default) dialog, deriving anatomy from `title`/`description`/`footer`/`dismissible` — portal, overlay, title, description, body, footer, and close button. With `role="alertdialog"` it derives an action and a cancel button instead of the close. * * @example * ```tsx * * * * ``` */ export declare function Dialog({ inline, children, open, defaultOpen, onOpenChange, onOpenChangeComplete, modal, dismiss, title, description, footer, dismissible, size, role, status, confirmLabel, cancelLabel, onConfirm, onCancel, portalContainer, ...rest }: DialogProps): React.JSX.Element; export declare namespace Dialog { var displayName: string; }