import { type HTMLAttributes } from "react";
import { type CSSTransitionComponentProps, type TransitionActions } from "../transition/types.js";
import { type BaseOverlayClassNameOptions } from "./styles.js";
/**
 * @since 6.0.0 Added `align` and `justify` props.
 * @since 6.0.0 Renamed `hidden` to `noOpacity`.
 * @since 6.3.1 Extends BaseOverlayClassNameOptions for CSSProperties module
 * augmentation.
 */
export interface OverlayProps extends HTMLAttributes<HTMLSpanElement>, BaseOverlayClassNameOptions, CSSTransitionComponentProps, TransitionActions {
    /**
     * 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 } from "@react-md/core/button/Button";
 * import { Overlay } from "@react-md/core/overlay/Overlay";
 * import { useToggle } from "@react-md/core/useToggle";
 * 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} />
 *     </>
 *   );
 * }
 * ```
 *
 * @see {@link https://react-md.dev/components/overlay | Overlay Demos}
 * @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>>;
