import { Subject } from 'rxjs';
import { FormElement } from './element';
export declare class FormAction extends FormElement {
    private readonly _actionActivated;
    private _actionCode;
    private _actionName;
    private _iconName;
    private _inProgress;
    private _newState;
    private _backend;
    private _restrictedOnField;
    private _restrictedOnOperator;
    private _restrictedOnValue;
    constructor(actionDefinition: any, formConfig: any);
    get actionCode(): string;
    get actionName(): string;
    get iconName(): string;
    get inProgress(): boolean;
    get newState(): string;
    get backend(): boolean;
    get restrictedOnField(): string;
    get restrictedOnOperator(): string;
    get restrictedOnValue(): string;
    set actionCode(actionCode: string);
    set actionName(actionName: string);
    set iconName(iconName: string);
    set inProgress(inProgress: boolean);
    set newState(newState: string);
    set backend(backend: boolean);
    set restrictedOnField(restrictedOnField: string);
    set restrictedOnOperator(restrictedOnOperator: string);
    set restrictedOnValue(restrictedOnValue: string);
    start(): void;
    stop(): void;
    connectWithParentForm(form: any, formChangeSubject: any): void;
    updateRestrictedVisibility(event: any): void;
    viewOnState(state: string): boolean;
    get actionActivated(): Subject<string>;
    notifyActivation(): void;
    updateFromServer(receivedAction: any): void;
}
