import { ComboboxListOptions } from "./combobox-list.js";
import { n as CompositeTypeaheadOptions } from "../composite-typeahead-CcgA3PL9.js";
import { n as PopoverOptions } from "../popover-ogM2HryK.js";
import { Props } from "@ariakit/react-utils";
import { ElementType, KeyboardEvent as KeyboardEvent$1 } from "react";
import { BooleanOrCallback } from "@ariakit/utils";
//#region src/combobox/combobox-popover.d.ts
declare const TagName = "div";
type TagName = typeof TagName;
/**
 * Returns props to create a `ComboboxPopover` component.
 * @see https://ariakit.com/components/combobox
 * @example
 * ```jsx
 * const store = useComboboxStore();
 * const props = useComboboxPopover({ store });
 * <Role {...props}>
 *   <ComboboxItem value="Item 1" />
 *   <ComboboxItem value="Item 2" />
 *   <ComboboxItem value="Item 3" />
 * </Role>
 * ```
 */
declare const useComboboxPopover: import("@ariakit/react-utils").Hook<"div", ComboboxPopoverOptions<"div">>;
/**
 * Renders a combobox popover. The `role` prop is set to `listbox` by default,
 * but can be overriden by any other valid combobox popup role (`listbox`,
 * `menu`, `tree`, `grid` or `dialog`).
 * @see https://ariakit.com/components/combobox
 * @example
 * ```jsx {3-7}
 * <ComboboxProvider>
 *   <Combobox />
 *   <ComboboxPopover>
 *     <ComboboxItem value="Apple" />
 *     <ComboboxItem value="Banana" />
 *     <ComboboxItem value="Orange" />
 *   </ComboboxPopover>
 * </ComboboxProvider>
 * ```
 */
declare const ComboboxPopover: (props: ComboboxPopoverProps<"div">) => import("react").JSX.Element | null;
interface ComboboxPopoverOptions<T extends ElementType = TagName> extends ComboboxListOptions<T>, Omit<PopoverOptions<T>, "store"> {
  /**
   * When enabled, pressing printable character keys will move focus to the next
   * combobox item that starts with the entered characters.
   *
   * Defaults to `false` when a
   * [`ComboboxInput`](https://ariakit.com/reference/combobox-input) is rendered,
   * and `true` otherwise.
   */
  typeahead?: CompositeTypeaheadOptions<T>["typeahead"];
  /**
   * Determines whether the popup takes focus when it opens. Where that focus
   * lands depends on the popup's contents and on
   * [`virtualFocus`](https://ariakit.com/reference/combobox-provider#virtualfocus);
   * the
   * [`initialFocus`](https://ariakit.com/reference/combobox-popover#initialfocus)
   * prop can be used to set a specific element to receive it.
   *
   * Defaults to `true` when a
   * [`ComboboxSelect`](https://ariakit.com/reference/combobox-select) is
   * rendered, and `false` otherwise, since a standalone
   * [`ComboboxInput`](https://ariakit.com/reference/combobox-input) keeps focus
   * while its popup is open.
   */
  autoFocusOnShow?: PopoverOptions<T>["autoFocusOnShow"];
  /**
   * Whether the combobox's
   * [`selectedValue`](https://ariakit.com/reference/combobox-provider#selectedvalue)
   * should be restored to what it was before the first item movement when
   * the popover accepts Escape and the cancelable close event isn't prevented.
   * Selection changes made before any item movement become part of the selected
   * value Escape restores.
   *
   * A descendant that handles Escape itself leaves the selected value alone.
   * Defaults to the store's
   * [`selectOnMove`](https://ariakit.com/reference/combobox-provider#selectonmove)
   * value, since moving through items is what changes the selected value while
   * the popover is open. This has no effect when the combobox supports multiple
   * selections.
   */
  resetOnEscape?: BooleanOrCallback<KeyboardEvent | KeyboardEvent$1>;
}
type ComboboxPopoverProps<T extends ElementType = TagName> = Props<T, ComboboxPopoverOptions<T>>;
//#endregion
export { ComboboxPopover, ComboboxPopoverOptions, ComboboxPopoverProps, useComboboxPopover };
//# sourceMappingURL=combobox-popover.d.ts.map