import { ControlColor } from './helpers/control-colors';
import { TextControlSize } from './helpers/control-sizes';
export type SelectOption = {
    name: string;
    value: string;
    icon?: React.ReactNode;
    description?: string;
    disabled?: boolean;
};
export interface SelectTypes {
    options: SelectOption[];
    selectedOption?: SelectOption;
    onChange?: React.Dispatch<React.SetStateAction<SelectOption>> | ((value: SelectOption) => void);
    children?: React.ReactNode;
    onSelect?: (value: string) => void;
    variant?: 'ghost' | 'solid' | 'transparent';
    className?: string;
    disabled?: boolean;
    label?: string;
    useUppercaseLabel?: boolean;
    required?: boolean;
    color?: ControlColor;
    value?: string;
    name?: string;
    errorMessage?: string;
    helperText?: string;
    placeholder?: string;
    buttonClassName?: string;
    size?: TextControlSize;
    /** Enable search/filter input inside the dropdown */
    searchable?: boolean;
    /** Placeholder for the search input */
    searchPlaceholder?: string;
    /** Show a check icon next to the selected option */
    showCheck?: boolean;
}
export declare function Select({ options, onChange, onSelect, variant, selectedOption: propSelectedOption, className, children, disabled, label, useUppercaseLabel, required, color, value, name, errorMessage, helperText, placeholder, buttonClassName, size, searchable, searchPlaceholder, showCheck, }: SelectTypes): import("react/jsx-runtime").JSX.Element;
export default Select;
