import { IDeviceConfig } from "../config";
import { StreamSetup, ReferenceToken, ReplayConfiguration } from "./types";
export declare class ONVIFReplay {
    private config;
    constructor(config: IDeviceConfig);
    /**
     * Returns the capabilities of the replay service. The result is returned in a typed answer.
     */
    static GetServiceCapabilities(): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     *
     *   Requests a URI that can be used to initiate playback of a recorded stream
     *   using RTSP as the control protocol. The URI is valid only as it is
     *   specified in the response.
     *   A device supporting the Replay Service shall support the GetReplayUri command.
     *
     */
    static GetReplayUri(StreamSetup: StreamSetup, RecordingToken: ReferenceToken): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     *
     *   Returns the current configuration of the replay service.
     *   This operation is mandatory.
     *
     */
    static GetReplayConfiguration(): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     *
     *   Changes the current configuration of the replay service.
     *   This operation is mandatory.
     *
     */
    static SetReplayConfiguration(Configuration: ReplayConfiguration): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * Returns the capabilities of the replay service. The result is returned in a typed answer.
     */
    GetServiceCapabilities(): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     *
     *   Requests a URI that can be used to initiate playback of a recorded stream
     *   using RTSP as the control protocol. The URI is valid only as it is
     *   specified in the response.
     *   A device supporting the Replay Service shall support the GetReplayUri command.
     *
     */
    GetReplayUri(StreamSetup: StreamSetup, RecordingToken: ReferenceToken): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     *
     *   Returns the current configuration of the replay service.
     *   This operation is mandatory.
     *
     */
    GetReplayConfiguration(): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     *
     *   Changes the current configuration of the replay service.
     *   This operation is mandatory.
     *
     */
    SetReplayConfiguration(Configuration: ReplayConfiguration): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
}
