import * as react from 'react';
import { ModalVariantProps, SlotsToClasses, ModalSlots, ModalReturnType, DrawerReturnType } from '@trail-ui/theme';
import { ModalOverlayProps } from 'react-aria-components';

interface ModalProps extends ModalOverlayProps, ModalVariantProps {
    /**
     * Classes object to style the modal and its children.
     */
    classNames?: SlotsToClasses<ModalSlots>;
}
interface InternalModalContextValue {
    slots: ModalReturnType | DrawerReturnType;
    classNames?: SlotsToClasses<ModalSlots>;
}
declare const InternalModalContext: react.Context<InternalModalContextValue>;
/**
 * A modal is an overlay element which blocks interaction with elements outside it.
 */
declare const _Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<HTMLDivElement>>;

export { InternalModalContext, _Modal as Modal, ModalProps };
