/// <reference types="react" />
import { AxiosInstance } from "axios";
import { MainStateManager } from "../../MainStateManager";
import { IMainStateFactory } from "../../Types";
import { IResultOfValidate } from "../ValidatingControl";
export declare abstract class ElementFactory {
    mainStateFactory: IMainStateFactory;
    factoryFieldName: string;
    dispose: () => void;
    payLoadKey?: string | undefined;
    responseKey?: string | undefined;
    history?: {
        key: string;
        axios: (controllerPath: string) => AxiosInstance;
        controllerPath: string;
        actionPath?: string | undefined;
    } | undefined;
    get any(): any;
    mainStateManager: MainStateManager;
    element?: HTMLElement;
    isCodeCopied?: boolean;
    protected _hasChange: boolean;
    get hasChange(): boolean;
    disabled: boolean;
    hidden: boolean;
    abstract restartDefaultValue: () => void;
    abstract refreshHasChange: () => void;
    abstract validate: () => void;
    abstract forceUpdate: () => void;
    abstract tabIndex?: number;
    abstract deseriallize: (jsonValue: any) => void;
    abstract clearData: () => void;
    abstract get value(): any;
    validation: IResultOfValidate;
    constructor(mainStateFactory: IMainStateFactory, factoryFieldName: string, dispose: () => void, payLoadKey?: string | undefined, responseKey?: string | undefined, history?: {
        key: string;
        axios: (controllerPath: string) => AxiosInstance;
        controllerPath: string;
        actionPath?: string | undefined;
    } | undefined);
    showHistoryOfColumn: (JSX: JSX.Element) => void;
}
