import { PolyTriggerMap } from './config';
import { PolyController } from './poly-controller';
export declare type PolyActionName = 'activate' | 'activate-all' | 'deactivate' | 'deactivate-all' | 'toggle' | 'toggle-all';
export interface PolyAction {
    name: PolyActionName;
    targetItem?: HTMLElement;
    targetId?: string;
    trigger?: HTMLElement;
}
export declare class ActionManager {
    private controller;
    isRunning: boolean;
    isNested: boolean;
    constructor(controller: PolyController);
    private activateItem;
    private deactivateItem;
    private handleActionActivate;
    private handleActionDeactivate;
    private handleActionToggle;
    private handleActionActivateAll;
    private handleActionDeactivateAll;
    private handleActionToggleAll;
    private handleAction;
    private createAction;
    composeAction(actionName: PolyActionName, id?: string): PolyAction;
    composeActionFromTrigger(trigger: HTMLElement, triggerMap: PolyTriggerMap): PolyAction;
    actionHub(action: PolyAction, isNestedAction?: boolean, callback?: Function): Promise<void>;
    endAction(callback?: Function): Promise<void>;
}
