import { Observable } from 'rxjs';
import { FormElement } from './element';
import { ActionDefinition, IFormConfig } from '../../interfaces/form-config.interface';
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: ActionDefinition, formConfig: IFormConfig);
    get actionCode(): string;
    get actionName(): string;
    get iconName(): string;
    get inProgress(): boolean;
    get newState(): string;
    get backend(): boolean;
    get restrictedOnField(): string | null;
    get restrictedOnOperator(): string | null;
    get restrictedOnValue(): string | null;
    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 | null);
    set restrictedOnOperator(restrictedOnOperator: string | null);
    set restrictedOnValue(restrictedOnValue: string | null);
    start(): void;
    stop(): void;
    connectWithParentForm(form: any, formChangeSubject: any): void;
    updateRestrictedVisibility(event: any): void;
    viewOnState(state: string): boolean;
    get actionActivated(): Observable<string>;
    notifyActivation(): void;
    updateFromServer(receivedAction: any): void;
}
