import { ParameterViewModel } from './parameter-view-model';
import { ContextService } from '../context.service';
import { PaneRouteData, Pane } from '../route-data';
import { UrlManagerService } from '../url-manager.service';
import { ErrorService } from '../error.service';
import { IMessageViewModel } from './imessage-view-model';
import { ClickHandlerService } from '../click-handler.service';
import { ViewModelFactoryService } from '../view-model-factory.service';
import * as Models from '../models';
export declare class ActionViewModel {
    private readonly viewModelFactory;
    private readonly context;
    private readonly urlManager;
    private readonly error;
    private readonly clickHandler;
    readonly actionRep: Models.ActionMember | Models.ActionRepresentation;
    private readonly vm;
    private readonly routeData;
    constructor(viewModelFactory: ViewModelFactoryService, context: ContextService, urlManager: UrlManagerService, error: ErrorService, clickHandler: ClickHandlerService, actionRep: Models.ActionMember | Models.ActionRepresentation, vm: IMessageViewModel, routeData: PaneRouteData);
    readonly paneId: Pane;
    readonly menuPath: string;
    readonly title: string;
    readonly description: string;
    readonly presentationHint: string;
    gotoResult: boolean;
    invokableActionRep: Models.ActionRepresentation | Models.InvokableActionMember;
    private readonly showDialog;
    private readonly incrementPendingPotentAction;
    private readonly decrementPendingPotentAction;
    readonly invokeWithDialog: (right?: boolean | undefined) => void;
    readonly invokeWithoutDialogWithParameters: (parameters: Promise<ParameterViewModel[]>, right?: boolean | undefined) => Promise<void | Models.ActionResultRepresentation>;
    private readonly invokeWithoutDialog;
    doInvoke: (right?: boolean | undefined) => void;
    private getInvokable();
    execute: (pps: ParameterViewModel[], right?: boolean | undefined) => Promise<Models.ActionResultRepresentation>;
    readonly disabled: () => boolean;
    readonly tempDisabled: () => boolean;
    private getParameters(invokableAction);
    readonly parameters: () => Promise<ParameterViewModel[]>;
    readonly makeInvokable: (details: Models.ActionRepresentation | Models.InvokableActionMember) => Models.ActionRepresentation | Models.InvokableActionMember;
}
