import * as React_2 from 'react'; export declare function Combobox({ options, defaultValueLabel, placeholder, noResultsLabel, className, onOpenChange, onChange, dropdownWidth, value: controlledValue, disabled, renderItem, renderValue, renderTrigger, appendToBody, }: ComboboxProps): React_2.JSX.Element; export declare interface ComboboxItem { value: string; label: string; icon?: React_2.ReactNode; /** Additional data that can be passed to custom renderers */ data?: any; } export declare interface ComboboxProps { options: T[]; defaultValueLabel: string; placeholder: string; noResultsLabel: string; className?: string; dropdownWidth?: number; value?: string; /** Whether the combobox is disabled */ disabled?: boolean; /** Callback on open state change */ onOpenChange?: (open: boolean) => void; /** Callback on value change */ onChange?: (value: string) => void; /** Custom render function for each item in the dropdown */ renderItem?: (props: ComboboxRenderItemProps) => React_2.ReactNode; /** Custom render function for the selected value in the trigger button */ renderValue?: (item: T) => React_2.ReactNode; /** Custom render function for the entire trigger button content */ renderTrigger?: (props: { selectedItem: T | undefined; isOpen: boolean; }) => React_2.ReactNode; /** * When false, the dropdown stays in the React tree instead of portaling to body. * Use inside modals/dialogs so the list is not detached from the dialog layer. */ appendToBody?: boolean; } export declare interface ComboboxRenderItemProps { item: T; isSelected: boolean; onSelect: () => void; } export { }