/// <reference types="react" />
import * as React from "react";
import { FieldValue } from "simplr-forms/contracts";
import { DomFieldProps } from "../contracts/field";
import { BaseDomField, BaseDomFieldState } from "../abstractions/base-dom-field";
import { FieldOnChangeCallback } from "../contracts/field";
import { HTMLElementProps } from "../contracts/field";
export declare type EmailOnChangeCallback = FieldOnChangeCallback<HTMLInputElement>;
/**
 * Override the differences between extended interfaces.
 */
export interface EmailProps extends DomFieldProps, HTMLElementProps<HTMLInputElement> {
    name: string;
    onFocus?: React.FocusEventHandler<HTMLInputElement>;
    onBlur?: React.FocusEventHandler<HTMLInputElement>;
    onChange?: EmailOnChangeCallback;
    defaultValue?: FieldValue;
    value?: FieldValue;
    ref?: React.Ref<Email>;
}
export declare class Email extends BaseDomField<EmailProps, BaseDomFieldState, HTMLInputElement> {
    protected GetValueFromEvent(event: React.ChangeEvent<HTMLInputElement>): FieldValue;
    protected OnChangeHandler: React.ChangeEventHandler<HTMLInputElement>;
    protected readonly RawDefaultValue: string;
    renderField(): JSX.Element | null;
}
