import * as React from 'react';
import { type ModalBodyProps, type ModalCloseProps, type ModalContentProps, type ModalFooterProps, type ModalHeaderProps, type ModalProps, type ModalTriggerProps } from './Modal.types';
declare const useModalContainerContext: () => HTMLElement | undefined;
export { useModalContainerContext };
/**
* `Modal` is a dialog that appears on top of the page.
*
* `Modal` is a context of the Modal-related components. It doesn't render any DOM node.
* It controls the visibility of the entire component and provides
* handlers and accessibility properties to Modal-related components.
* @example
*
* ```tsx
* // Anatomy of the Modal
*
*
*
*
*
*
*
*
* ```
*/
export declare function Modal({ children, show, defaultShow, onShow, onHide, }: ModalProps): import("react/jsx-runtime").JSX.Element;
/**
* `ModalContent` is a container of the modal content.
* It creates a portal to render the modal content outside of the DOM tree
* and renders overlay behind the modal content too.
*/
export declare const ModalContent: React.ForwardRefExoticComponent>;
/**
* `ModalHeader` is a header of the modal content.
* It renders the accessible title and description of the modal.
* If you want to hide the title and description, use `hidden` prop.
*/
export declare const ModalHeader: React.ForwardRefExoticComponent>;
/**
* `ModalBody` is a simple wrapper of the main modal content.
*/
export declare const ModalBody: React.ForwardRefExoticComponent>;
/**
* `ModalFooter` is a simple wrapper of the footer of the modal content.
* Usually, it contains the action buttons of the modal.
*/
export declare const ModalFooter: React.ForwardRefExoticComponent>;
/**
* `ModalTrigger` is a button that opens the modal. **It doesn't render any DOM node.**
* It passes the handler that opens the modal and accessibility properties to the children.
*
* It **must** be placed outside of the `ModalContent`.
*/
export declare function ModalTrigger({ children }: ModalTriggerProps): import("react/jsx-runtime").JSX.Element;
/**
* `ModalClose` is a button that closes the modal. **It doesn't render any DOM node.**
* It passes the handler that closes the modal to the children.
*/
export declare function ModalClose({ children }: ModalCloseProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Modal.d.ts.map