/// <reference types="react" />
import { FormText } from './Components';
import { IInputElement, UpdateCallback } from './IInputElement';
export declare abstract class InputElement implements IInputElement {
    private _isRendered;
    protected constructor(update: UpdateCallback);
    /** @inheritdoc */
    abstract isValid: boolean;
    /** @inheritdoc */
    errorMessage: FormText;
    /** @inheritdoc */
    abstract hasChanges: boolean;
    /** @inheritdoc */
    render(): JSX.Element;
    protected abstract renderComponent(): JSX.Element;
    /** @inheritdoc */
    update: UpdateCallback;
    protected updateInternally(): void;
}
