import * as React from "react";
import { FormElementSize } from "../utils/Forms";
import { Values } from "../utils/types";
import "./MultiSelect.less";
export declare const ADD_NEW_ITEM_KEY = "MultiSelect--addNewItem";
declare type Option = {
    value: string;
    label: string;
    customLabel?: React.ReactNode;
};
export interface Props {
    className?: string;
    name: string;
    label: string;
    hideLabel?: boolean;
    placeholder?: string;
    options: Option[];
    creatable?: boolean;
    allowDuplicates?: boolean;
    values: string[];
    onChange: (options: string[]) => void;
    size?: Values<typeof FormElementSize>;
    caseSensitive?: boolean;
}
export declare const cssClass: {
    CONTAINER: string;
    LABEL: string;
    LABEL_HIDDEN: string;
    SELECT_CONTAINER: string;
    SELECT_CONTAINER_FOCUSED: string;
    SELECTED_ITEMS_CONTAINER: string;
    SELECTED_ITEM_WRAPPER: string;
    SELECTED_ITEM_CONTAINER: string;
    SELECTED_ITEM_BUTTON: string;
    INPUT: string;
    CARET_BUTTON: string;
    MENU_RESET: string;
    MENU_OPEN: string;
    MENU_OPTION: string;
    MENU_OPTION_HIGHLIGHTED: string;
    NO_OPTIONS_FOUND: string;
};
export declare function getSelectableOptions(options: Option[], selectedValues: string[], inputValue: string, creatable: boolean, caseSensitive: boolean): Option[];
declare const MultiSelect: React.FC<Props>;
export default MultiSelect;
