import "@less/components/UiReactTestComponent.less";
import * as React from "react";
import { ReactElement } from "react";
import { TeamAppsUiContext } from "./TeamAppsUiContext";
import { UiField } from "./formfield/UiField";
import { UiFieldEditingMode } from "../generated/UiFieldEditingMode";
import { UiFieldConfig } from "../generated/UiFieldConfig";
export declare abstract class AbstractUiReactField<C extends UiFieldConfig = UiFieldConfig, V = any> extends UiField<C, V> {
    private $main;
    protected transientValue: V;
    constructor(config: C, context: TeamAppsUiContext);
    protected initialize(config: C, context: TeamAppsUiContext): void;
    protected updateDom(): void | Element | React.Component<any, any, any>;
    protected abstract render(): ReactElement;
    protected displayCommittedValue(): void;
    getFocusableElement(): HTMLElement;
    getMainInnerDomElement(): HTMLElement;
    getTransientValue(): V;
    protected onEditingModeChanged(editingMode: UiFieldEditingMode, oldEditingMode?: UiFieldEditingMode): void;
}
