/// <reference types="react" />
import { BaseField, BaseFieldState } from "simplr-forms";
import { DomFieldProps, DomFieldTemplateCallback } from "../contracts/field";
export interface BaseDomFieldState extends BaseFieldState {
}
export declare abstract class BaseDomField<TProps extends DomFieldProps, TState extends BaseDomFieldState, TUnderlyingElement = any> extends BaseField<TProps, TState> {
    Element: TUnderlyingElement | undefined;
    protected OnFocus: (event: React.FocusEvent<any>) => void;
    protected OnBlur: (event: React.FocusEvent<any>) => void;
    protected readonly FieldTemplate: DomFieldTemplateCallback | undefined;
    protected GetHTMLProps(props: DomFieldProps): {};
    protected SetElementRef: (element: TUnderlyingElement | undefined) => void;
    abstract renderField(): JSX.Element | null;
    render(): JSX.Element | null;
}
