import { Colors, InputSize, VisualSlotType } from './types';
export interface DropdownOption {
    label: string;
    value: string | number;
    disabled?: boolean;
    [key: string]: any;
}
export interface DropdownProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'onChange'> {
    label?: string;
    error?: string;
    helperText?: string;
    size?: InputSize;
    color?: Colors;
    leftSlot?: VisualSlotType;
    rightSlot?: VisualSlotType;
    searchPlaceholder?: string;
    noResultsText?: string;
    caret?: boolean;
    disabled?: boolean;
    defaultValue?: string;
    placeholder?: string;
    options: DropdownOption[];
    value?: string | number;
    valueName?: string;
    idName?: string;
    onValueChange?: (value: string | number) => void;
    onOptionSelect?: (option: DropdownOption) => void;
    searchable?: boolean;
    maxHeight?: string;
    closeOnClickOutside?: boolean;
    widthAutoAdjust?: boolean;
    dropdownId?: string;
}
export interface DropdownRef {
    getValue: () => string | number;
    setValue: (value: string | number) => void;
    focus: () => void;
    blur: () => void;
    clear: () => void;
    open: () => void;
    close: () => void;
}
//# sourceMappingURL=dropdown.d.ts.map