import { DialogHTMLAttributes } from 'react';
import type * as React from 'react';
import { AnalyticsOverrideProps } from '../analytics';
export type DialogSize = 'narrow' | 'wide' | 'full';
export declare const availableSizes: DialogSize[];
export interface BaseDialogProps extends AnalyticsOverrideProps {
    /**
     * Buttons or other HTML to be rendered in the "actions" bar
     * at the bottom of the dialog.
     */
    actions?: React.ReactNode;
    /**
     * Additional classes to be added to the actions container.
     */
    actionsClassName?: string;
    /**
     * If `true`, the modal will receive a role of `alertdialog`, instead of its
     * default `dialog`. The `alertdialog` role should only be used when an
     * alert, error, or warning occurs.
     */
    alert?: boolean;
    /**
     * Aria label for the close button
     */
    ariaCloseLabel?: string;
    /**
     * Pass `true` to have the dialog close when its backdrop pseudo-element is clicked
     */
    backdropClickExits?: boolean;
    children?: React.ReactNode;
    /**
     * Additional classes to be added to the root dialog element.
     */
    className?: string;
    /**
     * Additional classes to be added to the header, which wraps the heading and
     * close button.
     */
    headerClassName?: string;
    /**
     * The Dialog's heading, to be rendered in the header alongside the close button.
     */
    heading?: React.ReactNode;
    /**
     * A custom `id` attribute for the dialog element
     */
    id?: string;
    /**
     * Controls whether the dialog is in an open state
     */
    isOpen: boolean;
    /**
     * Called when the user triggers an exit event, like by clicking the close
     * button or pressing the ESC key. The parent of this component is
     * responsible for showing or not showing the dialog, so you need to use this
     * callback to make that happen. The dialog does not hide or remove itself.
     */
    onExit(event: React.MouseEvent | React.KeyboardEvent): void;
    /**
     * The Dialog's size parameter.
     */
    size?: DialogSize;
}
export type DialogProps = BaseDialogProps & Omit<DialogHTMLAttributes<HTMLElement>, keyof BaseDialogProps>;
/**
 * For information about how and when to use this component,
 * [refer to its full documentation page](https://design.cms.gov/components/modal-dialog/).
 */
export declare const Dialog: (props: DialogProps) => import("react/jsx-runtime").JSX.Element;
export default Dialog;
