/**
 * Replay ver10 module
 * @author Andrew D.Laptev <a.d.laptev@gmail.com>
 * @see https://www.onvif.org/ver10/replay.wsdl
 */
import { Onvif } from './onvif';
import { AnyURI } from './interfaces/basics';
import { ReplayConfiguration, StreamSetup, StreamType, TransportProtocol } from './interfaces/onvif';
import { Capabilities, GetReplayUri, SetReplayConfiguration } from './interfaces/replay';
import Service from './service';
/**
 * GetReplayUri with optional stream and transport protocol shortcuts.
 */
export interface GetReplayUriOptions extends Omit<GetReplayUri, 'streamSetup'> {
    streamSetup?: StreamSetup;
    /** Defines if a multicast or unicast stream is requested. Used when streamSetup is omitted. */
    stream?: StreamType;
    /** Defines the network protocol for streaming. Used when streamSetup is omitted. */
    protocol?: TransportProtocol;
}
/**
 * Replay service
 */
export default class Replay extends Service {
    constructor(onvif: Onvif);
    private static resolveStreamSetup;
    /**
     * Returns the capabilities of the replay service.
     */
    getServiceCapabilities(): Promise<Capabilities>;
    /**
     * Requests a URI that can be used to initiate playback of a recorded stream using RTSP.
     * @param options
     */
    getReplayUri(options: GetReplayUriOptions): Promise<AnyURI>;
    /**
     * Returns the current configuration of the replay service.
     */
    getReplayConfiguration(): Promise<ReplayConfiguration>;
    /**
     * Changes the current configuration of the replay service.
     * @param options
     */
    setReplayConfiguration({ configuration }: SetReplayConfiguration): Promise<void>;
}
