import { MonoTriggerMap } from './config';
import { MonoController } from './mono-controller';
export declare type MonoActionName = 'activate' | 'deactivate' | 'toggle';
export interface MonoAction {
    name: MonoActionName;
    currentItem?: HTMLElement;
    currentItemId?: string;
    nextItem?: HTMLElement;
    nextItemId?: string;
    targetId?: string;
    trigger?: HTMLElement;
}
export declare class ActionManager {
    private controller;
    isRunning: boolean;
    isNested: boolean;
    constructor(controller: MonoController);
    private activate;
    private deactivate;
    private completeAction;
    createAction(actionName: MonoActionName): MonoAction;
    composeAction(actionName: MonoActionName, id?: string): MonoAction;
    composeActionFromTrigger(trigger: HTMLElement, triggerMap: MonoTriggerMap): MonoAction;
    actionHub(action: MonoAction, isNestedAction?: boolean, callback?: Function): Promise<void>;
    endAction(callback?: Function): Promise<void>;
}
