import React from 'react';
export interface SelectProps<T> {
    className?: string;
    label?: string;
    options: Option<T>[];
    value?: Option<T> | Option<T>[];
    disabled?: boolean;
    multiple?: boolean;
    /**
     * name for the forms.
     */
    name?: string;
    onChange?: (value: React.SetStateAction<any>) => void;
    initialOption?: Option<T>;
    initialOptionLabel?: string;
    /**
     * Color variation that will switch between styles for the Select .
     */
    variation?: 'initial' | 'default' | 'primary' | 'secondary';
    /**
     * Placeholder that will be shown if no value is selected .
     */
    placeholder?: string;
}
export interface Option<T> {
    /**
     * Value of the select option.
     */
    value: T;
    /**
     * Text of the select option.
     */
    label: string;
    /**
     * Icon of the select option. Imported from carbon icons
     */
    icon?: JSX.Element;
}
declare const Select: {
    <T>(props: SelectProps<T>): JSX.Element;
    displayName: string;
};
export default Select;
