import { SelectProps } from "@chakra-ui/react";
export declare type Option = {
    value: string | number;
    label: string;
    disabled?: boolean;
    dangerouslySetInnerHTML?: boolean;
};
export declare type CustomSelectProps = {
    /***
     * Identificador único do Select.
     */
    id?: string;
    /***
     * Nome do Select.
     */
    name?: string;
    /***
     * Evento que assiste seleção de uma opção pelo usuário.
     */
    onChange: (value: string | number | readonly string[]) => void;
    /***
     * Evento que assiste a digitação no Input pelo usuário.
     */
    onInputChange?: (value: string | number) => void;
    /***
     * Array de opções do Select. Deve ser do tipo Option.
     */
    options: Array<Option>;
    /***
     * É o tamanho mínino da string digitada que determina quando é renderizado os resultados da busca.
     */
    searchLength?: number;
    /***
     * Mensagem a ser mostrada quando a busca não encontrou nenhuma opção.
     */
    notFoundMessage?: string;
    /***
     * Determina se o Select realiza busca ou não.
     */
    isSearch?: boolean;
    /***
     * Desabilita ou não o Select.
     */
    isDisabled?: boolean;
    /***
     * Texto que aparece no Select quando não há nada selecionado.
     */
    placeholder?: string;
    /***
     * Quando isSearch é true, esta propriedade pode adicionar um spinner no lugar do ícone para operações que demandam tempo,
        como por exemplo, uma requisição em uma api.
     */
    isLoading?: boolean;
    /***
     * Quando true, destaca o input informando uma entrada inválida.
     */
    isInvalid?: boolean;
    /***
     * Utilizado para formatar expressões html especiais como &nbsp.
     */
    dangerouslySetInnerHTML?: boolean;
} & Omit<SelectProps, "onChange" | "dangerouslySetInnerHTML">;
export declare function Select({ id, name, onChange, onInputChange, options, searchLength, notFoundMessage, isSearch, isDisabled, isLoading, isInvalid, placeholder, value: selectValue, }: CustomSelectProps): JSX.Element;
