import { FormFactory } from ".";
export declare type IResultOfValidate = true | [string, EnumValidateState];
export declare enum EnumValidateState {
    none = 0,
    valid = 1,
    minValue = 2,
    maxValue = 3,
    invalidValue = 4,
    minLength = 5,
    maxLength = 6,
    newCode = 7,
    withoutParent = 8,
    invalidLength = 9,
    hasChildren = 10,
    empty = 11
}
export declare abstract class BaseElementFactory {
    #private;
    get any(): any;
    abstract deseriallize: (jsonValue: any) => void;
    abstract restartDefaultValue: () => void;
    abstract refreshHasChange: () => void;
    abstract validate: () => void;
    abstract forceUpdate: () => void;
    abstract clearData: () => void;
    abstract goToNextTabIndexControl: () => void;
    abstract validation: IResultOfValidate;
    abstract hasChange: boolean;
    abstract tabIndex?: number;
    abstract get value(): any;
    disabled: boolean;
    hidden: boolean;
    element?: HTMLElement;
    payLoadKey?: string;
    responseKey?: string;
    factoryFieldName: string;
    dispose: () => void;
    get formFactory(): FormFactory;
    constructor(formFactory: FormFactory, factoryFieldName: string, dispose: () => void, payLoadKey?: string, responseKey?: string);
}
//# sourceMappingURL=BaseElementFactory.d.ts.map