import { AnyString } from "../utils/types.js";
import { Placement as Placement$1 } from "@floating-ui/react";

//#region src/popover/usePopover.types.d.ts
type PopoverTrigger = 'click' | 'focus' | 'focusin' | 'manual' | 'mouseenter';
type UsePopoverProps = {
  /** Content closes when clicking the trigger or anywhere outside. @default true */closeOnBlur?: boolean; /** Content closes when pressing 'Escape'. @default true */
  closeOnEsc?: boolean; /** Content is opened on first render. Uncontrolled mode. */
  defaultIsOpen?: boolean; /** Content placement could be changed to the opposite depending on available space. */
  flip?: boolean; /** Content is opened/closed by the consumer. Controlled mode. */
  isOpen?: boolean; /** Sets the content element width to be the same as trigger element. */
  matchWidth?: boolean; /** Displaces content from the trigger in pixels. [skidding, distance] */
  offset?: [number, number]; /** Invoked once content is fully hidden. */
  onClose?: () => void; /** Invoked once content begins to show. */
  onOpen?: () => void; /** Preferred placement of the content. Might be flipped if needs more space. */
  placement?: Placement$1; /** Determines the events that cause the content to show. */
  trigger?: PopoverTrigger | AnyString;
};
//#endregion
export { type Placement$1 as Placement, UsePopoverProps };

//# sourceMappingURL=usePopover.types.d.ts.map