import { ElementFactory } from "../Page/ElementsOfFormFactory/ElementFactory";
import { IMainStateFactory } from "../Types";
export type ButtonType = 'none' | 'ok' | 'view' | 'edit' | 'new' | 'cancel' | 'delete' | 'print' | 'select' | 'error';
export declare class ButtonFactory extends ElementFactory {
    #private;
    caption: string;
    disabled: boolean;
    tabIndex?: number | undefined;
    type: ButtonType;
    forceUpdate: () => void;
    get value(): string | null;
    setValue: (value: string) => void;
    deseriallize: (_e: any) => void;
    clearData: () => void;
    get defaultValue(): string | null;
    focusToElement: () => void;
    constructor(_mainStateFactory: IMainStateFactory, _fieldName: string, _dispose: () => void, caption: string, disabled: boolean, tabIndex?: number | undefined, type?: ButtonType);
    restartDefaultValue: () => void;
    refreshHasChange: () => void;
    validate: () => void;
}
