import type { Assign, CollectionItem } from "@ark-ui/react";
import { Listbox as ArkListbox } from "@ark-ui/react/listbox";
import type { JSX } from "react";
import { type HTMLChakraProps, type SlotRecipeProps, type UnstyledProp } from "../../styled-system";
declare const useListboxStyles: () => Record<string, import("../..").SystemStyleObject>;
export { useListboxStyles };
export interface ListboxRootProviderBaseProps<T extends CollectionItem = any> extends Assign<ArkListbox.RootProviderBaseProps<T>, SlotRecipeProps<"listbox">>, UnstyledProp {
}
export interface ListboxRootProviderProps<T extends CollectionItem = any> extends HTMLChakraProps<"div", ListboxRootProviderBaseProps<T>> {
}
interface ListboxRootProviderComponent {
    <T extends CollectionItem>(props: ListboxRootProviderProps<T>): JSX.Element;
}
export declare const ListboxRootProvider: ListboxRootProviderComponent;
export interface ListboxRootBaseProps<T extends CollectionItem = any> extends Assign<ArkListbox.RootBaseProps<T>, SlotRecipeProps<"listbox">>, UnstyledProp {
}
export interface ListboxRootProps<T extends CollectionItem = any> extends HTMLChakraProps<"div", ListboxRootBaseProps<T>> {
}
export interface ListboxRootComponent {
    <T extends CollectionItem>(props: ListboxRootProps<T> & React.RefAttributes<HTMLDivElement>): JSX.Element;
}
export declare const ListboxRoot: ListboxRootComponent;
export declare const ListboxPropsProvider: React.Provider<ListboxRootBaseProps>;
export interface ListboxInputProps extends HTMLChakraProps<"input", ArkListbox.InputBaseProps>, UnstyledProp {
}
export declare const ListboxInput: import("react").ForwardRefExoticComponent<ListboxInputProps & import("react").RefAttributes<HTMLInputElement>>;
export interface ListboxContentProps extends HTMLChakraProps<"div", ArkListbox.ContentBaseProps>, UnstyledProp {
}
export declare const ListboxContent: import("react").ForwardRefExoticComponent<ListboxContentProps & import("react").RefAttributes<HTMLDivElement>>;
export interface ListboxValueTextProps extends HTMLChakraProps<"span", ArkListbox.ValueTextBaseProps>, UnstyledProp {
}
export declare const ListboxValueText: import("react").ForwardRefExoticComponent<ListboxValueTextProps & import("react").RefAttributes<HTMLSpanElement>>;
export interface ListboxItemGroupProps extends HTMLChakraProps<"div", ArkListbox.ItemGroupBaseProps>, UnstyledProp {
}
export declare const ListboxItemGroup: import("react").ForwardRefExoticComponent<ListboxItemGroupProps & import("react").RefAttributes<HTMLDivElement>>;
export interface ListboxItemGroupLabelProps extends HTMLChakraProps<"div", ArkListbox.ItemGroupLabelBaseProps>, UnstyledProp {
}
export declare const ListboxItemGroupLabel: import("react").ForwardRefExoticComponent<ListboxItemGroupLabelProps & import("react").RefAttributes<HTMLDivElement>>;
export interface ListboxItemProps extends HTMLChakraProps<"div", ArkListbox.ItemBaseProps>, UnstyledProp {
}
export declare const ListboxItem: import("react").ForwardRefExoticComponent<ListboxItemProps & import("react").RefAttributes<HTMLDivElement>>;
export interface ListboxItemTextProps extends HTMLChakraProps<"div", ArkListbox.ItemTextBaseProps>, UnstyledProp {
}
export declare const ListboxItemText: import("react").ForwardRefExoticComponent<ListboxItemTextProps & import("react").RefAttributes<HTMLDivElement>>;
export interface ListboxItemIndicatorProps extends HTMLChakraProps<"div", ArkListbox.ItemIndicatorBaseProps>, UnstyledProp {
}
export declare const ListboxItemIndicator: import("react").ForwardRefExoticComponent<ListboxItemIndicatorProps & import("react").RefAttributes<HTMLDivElement>>;
export interface ListboxLabelProps extends HTMLChakraProps<"label", ArkListbox.LabelBaseProps>, UnstyledProp {
}
export declare const ListboxLabel: import("react").ForwardRefExoticComponent<ListboxLabelProps & import("react").RefAttributes<HTMLLabelElement>>;
export interface ListboxEmptyProps extends HTMLChakraProps<"div", ArkListbox.EmptyBaseProps>, UnstyledProp {
}
export declare const ListboxEmpty: import("react").ForwardRefExoticComponent<ListboxEmptyProps & import("react").RefAttributes<HTMLDivElement>>;
export declare const ListboxContext: <T extends unknown>(props: ArkListbox.ContextProps<T>) => import("react").ReactNode;
export declare const ListboxItemContext: (props: ArkListbox.ItemContextProps) => import("react").ReactNode;
export interface ListboxHighlightChangeDetails<T extends CollectionItem = any> extends ArkListbox.HighlightChangeDetails<T> {
}
export interface ListboxValueChangeDetails<T extends CollectionItem = any> extends ArkListbox.ValueChangeDetails<T> {
}
