import { TouchOrMouseEvent } from "./useOnOutsideClick.js";

//#region src/hooks/useOverlay.d.ts
type UseOverlaySettings = {
  ignoreClickRefs?: React.RefObject<HTMLElement | null>[];
  initialFocusRef?: React.RefObject<HTMLElement | null>;
  returnFocusRef: React.RefObject<HTMLElement | null>;
  onEscape: (e: KeyboardEvent) => void;
  onClickOutside: (e: TouchOrMouseEvent) => void;
  overlayRef?: React.RefObject<HTMLDivElement | null>;
  preventFocusOnOpen?: boolean;
};
type OverlayReturnProps = {
  ref: React.RefObject<HTMLDivElement | null>;
};
declare const useOverlay: ({
  overlayRef: _overlayRef,
  returnFocusRef,
  initialFocusRef,
  onEscape,
  ignoreClickRefs,
  onClickOutside,
  preventFocusOnOpen
}: UseOverlaySettings) => OverlayReturnProps;
//#endregion
export { OverlayReturnProps, UseOverlaySettings, useOverlay };