import { t as PopoverStore } from "../popover-store-BJQhU0yZ.js";
import { Options, Props } from "@ariakit/react-utils";
import { ElementType } from "react";
//#region src/popover/popover-arrow.d.ts
declare const TagName = "div";
type TagName = typeof TagName;
/**
 * Returns props to create a `PopoverArrow` component.
 * @see https://ariakit.com/components/popover
 * @example
 * ```jsx
 * const store = usePopoverStore();
 * const props = usePopoverArrow({ store });
 * <Popover store={store}>
 *   <Role {...props} />
 *   Popover
 * </Popover>
 * ```
 */
declare const usePopoverArrow: import("@ariakit/react-utils").Hook<"div", PopoverArrowOptions<"div">>;
/**
 * Renders an arrow inside a [`Popover`](https://ariakit.com/reference/popover)
 * component pointing to the anchor element.
 * @see https://ariakit.com/components/popover
 * @example
 * ```jsx {4}
 * <PopoverProvider>
 *   <PopoverAnchor />
 *   <Popover>
 *     <PopoverArrow />
 *     Popover
 *   </Popover>
 * </PopoverProvider>
 * ```
 */
declare const PopoverArrow: (props: PopoverArrowProps) => import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
interface PopoverArrowOptions<_T extends ElementType = TagName> extends Options {
  /**
   * Object returned by the
   * [`usePopoverStore`](https://ariakit.com/reference/use-popover-store) hook.
   * If not provided, the closest
   * [`Popover`](https://ariakit.com/reference/popover) or
   * [`PopoverProvider`](https://ariakit.com/reference/popover-provider)
   * components' context will be used.
   */
  store?: PopoverStore;
  /**
   * The size of the arrow.
   *
   * Live examples:
   * - [Selection Popover](https://ariakit.com/examples/popover-selection)
   * @default 30
   */
  size?: number;
  /**
   * The arrow's border width. If not specified, Ariakit will infer it from the
   * popover `contentElement`'s style.
   */
  borderWidth?: number;
}
type PopoverArrowProps<T extends ElementType = TagName> = Props<T, PopoverArrowOptions<T>>;
//#endregion
export { PopoverArrow, PopoverArrowOptions, PopoverArrowProps, usePopoverArrow };
//# sourceMappingURL=popover-arrow.d.ts.map