import { type ReactNode } from "react";
import { type OverlayController } from "./OverlayController.js";
/**
 * @internal
 */
export declare const OverlayContext: import("react").Context<OverlayController | undefined>;
/**
 * Properties for {@link OverlayControllerProvider} component.
 *
 * @internal
 */
export interface IOverlayControllerProviderProps {
    /**
     * Overlay controller singleton class for z-index handling.
     */
    overlayController: OverlayController;
    /**
     * React children
     */
    children?: ReactNode;
}
/**
 * Component for injecting {@link OverlayController} into all components in the application.
 *
 * @internal
 */
export declare function OverlayControllerProvider({ children, overlayController }: IOverlayControllerProviderProps): import("react/jsx-runtime").JSX.Element;
/**
 * Hook to get current instance of the {@link OverlayController}
 *
 * @returns an instance of the {@link OverlayController}
 *
 * @internal
 */
export declare const useOverlayController: () => OverlayController | undefined;
/**
 * Hook to get the css `z-index` property for given overlay.
 *
 * @param uuid - uuid of the overlay.
 *
 * @returns - `z-index` for given overlay.
 *
 * @internal
 */
export declare const useOverlayZIndex: (uuid: string) => number | undefined;
/**
 * Registers a new overlay and returns its z-index
 *
 * @returns the overlay's z-index
 *
 * @internal
 */
export declare function useOverlayZIndexWithRegister(): number;
//# sourceMappingURL=OverlayContext.d.ts.map