import * as react_jsx_runtime from 'react/jsx-runtime';
import React__default, { HTMLAttributes } from 'react';

type ListBoxItemProps = HTMLAttributes<HTMLLIElement> & {
    value: string;
    disabled?: boolean;
};
declare const ListBoxItem: React__default.ForwardRefExoticComponent<HTMLAttributes<HTMLLIElement> & {
    value: string;
    disabled?: boolean;
} & React__default.RefAttributes<HTMLLIElement>>;
type ListBoxOrientation = 'vertical' | 'horizontal';
type ListBoxPrimitiveProps = HTMLAttributes<HTMLUListElement> & {
    value?: string[];
    onItemClicked?: (value: string) => void;
    onSelectionChanged?: (value: string[]) => void;
    isSelection?: boolean;
    isMultiple?: boolean;
    orientation?: ListBoxOrientation;
};
declare const ListBoxPrimitive: React__default.ForwardRefExoticComponent<HTMLAttributes<HTMLUListElement> & {
    value?: string[];
    onItemClicked?: (value: string) => void;
    onSelectionChanged?: (value: string[]) => void;
    isSelection?: boolean;
    isMultiple?: boolean;
    orientation?: ListBoxOrientation;
} & React__default.RefAttributes<HTMLUListElement>>;
type ListBoxMultipleProps = Omit<ListBoxPrimitiveProps, 'isMultiple'>;
declare const ListBoxMultiple: ({ ...props }: ListBoxMultipleProps) => react_jsx_runtime.JSX.Element;
type ListBoxMultipleUncontrolledProps = ListBoxMultipleProps;
declare const ListBoxMultipleUncontrolled: ({ value: initialValue, onSelectionChanged, ...props }: ListBoxMultipleUncontrolledProps) => react_jsx_runtime.JSX.Element;
type ListBoxProps = Omit<ListBoxPrimitiveProps, 'isMultiple' | 'value' | 'onSelectionChanged'> & {
    value?: string;
    onSelectionChanged?: (value: string) => void;
};
declare const ListBox: React__default.ForwardRefExoticComponent<Omit<ListBoxPrimitiveProps, "value" | "onSelectionChanged" | "isMultiple"> & {
    value?: string;
    onSelectionChanged?: (value: string) => void;
} & React__default.RefAttributes<HTMLUListElement>>;
type ListBoxUncontrolledProps = ListBoxProps;
declare const ListBoxUncontrolled: ({ value: initialValue, onSelectionChanged, ...props }: ListBoxUncontrolledProps) => react_jsx_runtime.JSX.Element;

export { ListBox, ListBoxItem, type ListBoxItemProps, ListBoxMultiple, type ListBoxMultipleProps, ListBoxMultipleUncontrolled, type ListBoxMultipleUncontrolledProps, ListBoxPrimitive, type ListBoxPrimitiveProps, type ListBoxProps, ListBoxUncontrolled, type ListBoxUncontrolledProps };
