import { type HTMLAttributes } from "react";
import { type BoxAlignItems, type BoxJustifyContent } from "../box/styles.js";
import { type CSSTransitionComponentProps, type TransitionActions } from "../transition/types.js";
/**
 * @since 6.0.0 Added `align` and `justify` props.
 * @since 6.0.0 Renamed `hidden` to `noOpacity`.
 */
export interface OverlayProps extends HTMLAttributes<HTMLSpanElement>, CSSTransitionComponentProps, TransitionActions {
    /**
     * @defaultValue `"center"`
     * @since 6.0.0
     */
    align?: BoxAlignItems;
    /**
     * @defaultValue `"center"`
     * @since 6.0.0
     */
    justify?: BoxJustifyContent;
    /**
     * Set this to `true` for when the overlay should be visible. Toggling this
     * value will trigger the enter/exit animation.
     */
    visible: boolean;
    /**
     * Set this to `true` if the overlay should be rendered with an `opacity: 0`
     * and disabling the animation. This is useful if you'd like a "close on
     * outside click" behavior.
     *
     * @defaultValue `false`
     */
    noOpacity?: boolean;
    /**
     * @see {@link OverlayClassNameOptions.clickable}
     * @defaultValue `!noOpacity`
     */
    clickable?: boolean;
    /**
     * @defaultValue `false`
     */
    disablePortal?: boolean;
    /**
     * @defaultValue `false`
     */
    disableTransition?: boolean;
}
/**
 * **Client Component**
 *
 * @example Simple Example
 * ```tsx
 * import { Button, Overlay, useToggle } from "@react-md/core";
 * import type { ReactElement } from "react";
 *
 * function Example(): ReactElement {
 *   const { toggle, disable, toggled: visible } = useToggle(false);
 *
 *   return (
 *     <>
 *       <Button onClick={toggle}>Toggle</Button>
 *       <Overlay visible={visible} onClick={disable} />
 *     </>
 *   );
 * }
 * ```
 *
 * @since 6.0.0 Removed the `onRequestClose` prop in favor of using
 * the `onClick` prop instead.
 */
export declare const Overlay: import("react").ForwardRefExoticComponent<OverlayProps & import("react").RefAttributes<HTMLSpanElement>>;
