/**
 * Provisioning ver10 module
 * @author Andrew D.Laptev <a.d.laptev@gmail.com>
 * @see https://www.onvif.org/ver10/provisioning/wsdl/provisioning.wsdl
 */
import { Onvif } from './onvif';
import Service from './service';
import { Capabilities, FocusMove, GetUsage, PanMove, RollMove, Stop, TiltMove, Usage, ZoomMove } from './interfaces/provisioning';
/**
 * Provisioning service
 * @example
 * ```ts
 *  const caps = await cam.provisioning.getServiceCapabilities();
 *  const videoSource = caps.source![0].videoSourceToken;
 *  await cam.provisioning.panMove({ videoSource, direction: 'Left', timeout: 'PT1S' });
 *  await cam.provisioning.stop({ videoSource });
 * ```
 */
export default class Provisioning extends Service {
    constructor(onvif: Onvif);
    /**
     * Returns the capabilities of the provisioning service.
     */
    getServiceCapabilities(): Promise<Capabilities>;
    /**
     * Moves the device on the pan axis.
     * @param options
     */
    panMove({ videoSource, direction, timeout }: PanMove): Promise<void>;
    /**
     * Moves the device on the tilt axis.
     * @param options
     */
    tiltMove({ videoSource, direction, timeout }: TiltMove): Promise<void>;
    /**
     * Changes the focal length relative to the video source.
     * @param options
     */
    zoomMove({ videoSource, direction, timeout }: ZoomMove): Promise<void>;
    /**
     * Moves the device on the roll axis.
     * @param options
     */
    rollMove({ videoSource, direction, timeout }: RollMove): Promise<void>;
    /**
     * Moves the focal plane relative to the video source.
     * @param options
     */
    focusMove({ videoSource, direction, timeout }: FocusMove): Promise<void>;
    /**
     * Stops all provisioning movements for a video source.
     * @param options
     */
    stop({ videoSource }: Stop): Promise<void>;
    /**
     * Returns lifetime usage counters for provisioning movements.
     * @param options
     */
    getUsage({ videoSource }: GetUsage): Promise<Usage>;
}
