import { OverlayTriggerState } from 'react-stately'; interface UseOverlayPanelStateProps { isDefaultOpen?: boolean; isOpen?: boolean; onOpenChange?: (isOpen: boolean) => void; transitionDuration?: number; } export interface UseOverlayPanelReturnState extends OverlayTriggerState { isTransitioning?: boolean; } export interface UseOverlayPanelStateReturnOnClose { (stateProp?: OverlayTriggerState, triggerRef?: React.RefObject, onCloseProp?: VoidFunction): void; } interface UseOverlayPanelStateReturnValues { state: UseOverlayPanelReturnState; onClose: UseOverlayPanelStateReturnOnClose; isTransitioning: boolean; } interface UseOverlayPanelState { /** * Returns state-related data and functions for use with a Modal component. * @param {Object} [props] Properties provided to the state * * @param {boolean} [prop.isDefaultOpen] Whether the modal is open by default (uncontrolled). * @param {boolean} [prop.isOpen] Whether the modal is currently open (controlled). * @param {function} [prop.onOpenChange] Handler that is called when the open state changes. * @param {number} [prop.transitionDuration] Number value of the length of the transition in ms. * * @returns {Object} `{ isOpen: Boolean, open: Function, close: Function, toggle: Function }` */ (props?: UseOverlayPanelStateProps): UseOverlayPanelStateReturnValues; } declare const useOverlayPanelState: UseOverlayPanelState; export default useOverlayPanelState;