import type { MutableRefObject } from "react";
interface UseModalProps {
    open: boolean;
    activatorRef?: React.RefObject<HTMLElement | null> | null;
    onRequestClose: () => void;
    startedInsideRef?: MutableRefObject<boolean> | undefined;
}
export declare function useModal({ open, activatorRef: refProp, onRequestClose, startedInsideRef, }: UseModalProps): {
    floatingRefs: {
        reference: MutableRefObject<import("@floating-ui/react-dom").ReferenceType | null>;
        floating: React.MutableRefObject<HTMLElement | null>;
        setReference: (node: import("@floating-ui/react-dom").ReferenceType | null) => void;
        setFloating: (node: HTMLElement | null) => void;
    } & import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
    floatingContext: {
        x: number;
        y: number;
        placement: import("@floating-ui/utils").Placement;
        strategy: import("@floating-ui/utils").Strategy;
        middlewareData: import("@floating-ui/core").MiddlewareData;
        isPositioned: boolean;
        update: () => void;
        floatingStyles: React.CSSProperties;
        open: boolean;
        onOpenChange: (open: boolean, event?: Event, reason?: import("@floating-ui/react").OpenChangeReason) => void;
        events: import("@floating-ui/react").FloatingEvents;
        dataRef: React.MutableRefObject<import("@floating-ui/react").ContextData>;
        nodeId: string | undefined;
        floatingId: string | undefined;
        refs: import("@floating-ui/react").ExtendedRefs<import("@floating-ui/react").ReferenceType>;
        elements: import("@floating-ui/react").ExtendedElements<import("@floating-ui/react").ReferenceType>;
    };
    nodeId: string | undefined;
    activatorRef: import("react").RefObject<HTMLElement | null>;
    parentId: string | null;
    getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
};
export {};
