/**
 * Application Management ver10 module
 * @author Andrew D.Laptev <a.d.laptev@gmail.com>
 * @see https://www.onvif.org/ver10/appmgmt.wsdl
 */
import { Onvif, OnvifServices } from './onvif';
import Service from './service';
import { Activate, Capabilities, Deactivate, GetAppsInfo, GetAppsInfoResponse, GetDeviceId, GetDeviceIdResponse, GetInstalledApps, GetInstalledAppsResponse, InstallLicense, Uninstall } from './interfaces/appmgmt';
/**
 * Application Management service
 * @example
 * ```ts
 * const apps = await cam.appMgmt.getInstalledApps();
 * const info = await cam.appMgmt.getAppsInfo();
 * await cam.appMgmt.activate({ appID: apps.app![0].appID });
 * ```
 */
export declare class AppMgmt extends Service {
    constructor(onvif: Onvif, service: keyof OnvifServices);
    /**
     * Returns the capabilities of the application management service.
     */
    getServiceCapabilities(): Promise<Capabilities>;
    /**
     * Returns information about installed applications.
     * @param options
     */
    getAppsInfo(options?: GetAppsInfo): Promise<GetAppsInfoResponse>;
    /**
     * Returns a list of installed applications.
     */
    getInstalledApps(_options?: GetInstalledApps): Promise<GetInstalledAppsResponse>;
    /**
     * Activates an installed application.
     * @param options
     */
    activate({ appID }: Activate): Promise<void>;
    /**
     * Deactivates an installed application.
     * @param options
     */
    deactivate({ appID }: Deactivate): Promise<void>;
    /**
     * Installs a license for an application.
     * @param options
     */
    installLicense({ appID, license }: InstallLicense): Promise<void>;
    /**
     * Uninstalls an application.
     * @param options
     */
    uninstall({ appID }: Uninstall): Promise<void>;
    /**
     * Returns the device identifier used by the application management service.
     */
    getDeviceId(_options?: GetDeviceId): Promise<GetDeviceIdResponse['deviceId']>;
}
