/**
 * Action Engine ver10 module
 * @author Andrew D.Laptev <a.d.laptev@gmail.com>
 * @see https://www.onvif.org/ver10/actionengine.wsdl
 */
import { Onvif } from './onvif';
import Service from './service';
import { Action, ActionTrigger, Capabilities, CreateActionTriggers, CreateActions, DeleteActionTriggers, DeleteActions, GetActions, GetActionTriggers, GetSupportedActions, ModifyActionTriggers, ModifyActions, SupportedActions } from './interfaces/actionengine';
/**
 * Action Engine service
 * @example
 * ```typescript
 * await cam.connect();
 * const caps = await cam.actionEngine.getServiceCapabilities();
 * const supported = await cam.actionEngine.getSupportedActions();
 * const actions = await cam.actionEngine.getActions();
 * const triggers = await cam.actionEngine.getActionTriggers();
 * ```
 */
export default class ActionEngine extends Service {
    constructor(onvif: Onvif);
    private static tokensToBuild;
    private static actionConfigurationToBuild;
    private static actionToBuild;
    private static actionTriggerConfigurationToBuild;
    private static actionTriggerToBuild;
    /**
     * Returns the capabilities of the action engine service.
     */
    getServiceCapabilities(): Promise<Capabilities>;
    /**
     * Returns the action types supported by the device.
     */
    getSupportedActions(_options?: GetSupportedActions): Promise<SupportedActions>;
    /**
     * Returns the configured actions.
     */
    getActions(_options?: GetActions): Promise<Action[]>;
    /**
     * Creates one or more actions.
     */
    createActions({ action }: CreateActions): Promise<Action[]>;
    /**
     * Deletes one or more actions.
     */
    deleteActions({ token }: DeleteActions): Promise<void>;
    /**
     * Modifies one or more actions.
     */
    modifyActions({ action }: ModifyActions): Promise<void>;
    /**
     * Returns the configured action triggers.
     */
    getActionTriggers(_options?: GetActionTriggers): Promise<ActionTrigger[]>;
    /**
     * Creates one or more action triggers.
     */
    createActionTriggers({ actionTrigger }: CreateActionTriggers): Promise<ActionTrigger[]>;
    /**
     * Modifies one or more action triggers.
     */
    modifyActionTriggers({ actionTrigger }: ModifyActionTriggers): Promise<void>;
    /**
     * Deletes one or more action triggers.
     */
    deleteActionTriggers({ token }: DeleteActionTriggers): Promise<void>;
}
