import { MantineSize } from '@mantine/core';
import { CSSProperties, FocusEventHandler, default as React } from 'react';
import { IArchbaseDataSourceBase } from '@archbase/data';
export interface ArchbaseMultiEmailProps<T, ID> {
    /** Fonte de dados onde sera atribuido o valor (V1 ou V2) */
    dataSource?: IArchbaseDataSourceBase<T>;
    /** Campo onde devera ser atribuido o valor na fonte de dados */
    dataField?: string;
    /** Valor controlado (array de emails) */
    value?: string[];
    /** Valor padrao nao controlado */
    defaultValue?: string[];
    /** Delimitador para converter string do datasource em array (padrao ';') */
    delimiter?: string;
    /** Titulo do campo */
    label?: string;
    /** Descricao do campo */
    description?: string;
    /** Ultimo erro ocorrido */
    error?: string;
    /** Texto de sugestao */
    placeholder?: string;
    /** Indicador se o preenchimento e obrigatorio */
    required?: boolean;
    /** Indicador se o campo esta desabilitado */
    disabled?: boolean;
    /** Indicador se o campo e somente leitura */
    readOnly?: boolean;
    /** Numero maximo de emails permitidos */
    max?: number;
    /** Funcao customizada de validacao de email */
    validateEmail?: (email: string) => boolean;
    /** Evento quando o valor e alterado */
    onChangeValue?: (emails: string[]) => void;
    /** Evento quando o campo recebe o foco */
    onFocusEnter?: FocusEventHandler<HTMLInputElement> | undefined;
    /** Evento quando o foco sai do campo */
    onFocusExit?: FocusEventHandler<HTMLInputElement> | undefined;
    /** Referencia para o componente interno */
    innerRef?: React.RefObject<HTMLDivElement> | undefined;
    /** Estilo do componente */
    style?: CSSProperties;
    /** Classe CSS */
    className?: string;
    /** Largura do componente */
    width?: string | number;
    /** Tamanho do componente */
    size?: MantineSize;
}
export declare function ArchbaseMultiEmail<T, ID>({ dataSource, dataField, value, defaultValue, delimiter, label, description, error, placeholder, required, disabled, readOnly, max, validateEmail, onChangeValue, onFocusEnter, onFocusExit, innerRef, style, className, width, size, }: ArchbaseMultiEmailProps<T, ID>): import("react/jsx-runtime").JSX.Element;
export declare namespace ArchbaseMultiEmail {
    var displayName: string;
}
