import { IDeviceConfig } from "../config";
import { RecordingReference, SearchScope, JobToken, EventFilter, PTZPositionFilter, MetadataFilter } from "./types";
export declare class ONVIFSearch {
    private config;
    constructor(config: IDeviceConfig);
    /**
     * Returns the capabilities of the search 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>>>;
    /**
     * GetRecordingSummary is used to get a summary description of all recorded data. This
     *   operation is mandatory to support for a device implementing the recording search service.
     */
    static GetRecordingSummary(): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * Returns information about a single Recording specified by a RecordingToken. This operation
     *   is mandatory to support for a device implementing the recording search service.
     */
    static GetRecordingInformation(RecordingToken: RecordingReference): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * Returns a set of media attributes for all tracks of the specified recordings at a specified point
     *   in time. Clients using this operation shall be able to use it as a non blocking operation. A
     *   device shall set the starttime and endtime of the MediaAttributes structure to equal values if
     *   calculating this range would causes this operation to block. See MediaAttributes structure for
     *   more information. This operation is mandatory to support for a device implementing the
     *   recording search service.
     */
    static GetMediaAttributes(Time: string, RecordingTokens?: RecordingReference): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * FindRecordings starts a search session, looking for recordings that matches the scope (See
     *   20.2.4) defined in the request. Results from the search are acquired using the
     *   GetRecordingSearchResults request, specifying the search token returned from this request.
     *   The device shall continue searching until one of the following occurs:
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   The order of the results is undefined, to allow the device to return results in any order they
     *   are found. This operation is mandatory to support for a device implementing the recording
     *   search service.
     */
    static FindRecordings(Scope: SearchScope, KeepAliveTime: string, MaxMatches?: number): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * GetRecordingSearchResults acquires the results from a recording search session previously
     *   initiated by a FindRecordings operation. The response shall not include results already
     *   returned in previous requests for the same session. If MaxResults is specified, the response
     *   shall not contain more than MaxResults results. The number of results relates to the number of recordings.
     *   For viewing individual recorded data for a signal track use the FindEvents method.
     *   GetRecordingSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support for a device implementing the recording search service.
     */
    static GetRecordingSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * FindEvents starts a search session, looking for recording events (in the scope that
     *   matches the search filter defined in the request. Results from the search are
     *   acquired using the GetEventSearchResults request, specifying the search token returned from
     *   this request.
     *   The device shall continue searching until one of the following occurs:
     *
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   Results shall be ordered by time, ascending in case of forward search, or descending in case
     *   of backward search. This operation is mandatory to support for a device implementing the
     *   recording search service.
     */
    static FindEvents(StartPoint: string, Scope: SearchScope, SearchFilter: EventFilter, IncludeStartState: boolean, KeepAliveTime: string, EndPoint?: string, MaxMatches?: number): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * GetEventSearchResults acquires the results from a recording event search session previously
     *   initiated by a FindEvents operation. The response shall not include results already returned in
     *   previous requests for the same session. If MaxResults is specified, the response shall not
     *   contain more than MaxResults results.
     *   GetEventSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support for a device implementing the recording search service.
     */
    static GetEventSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * FindPTZPosition starts a search session, looking for ptz positions in the scope (See 20.2.4)
     *   that matches the search filter defined in the request. Results from the search are acquired
     *   using the GetPTZPositionSearchResults request, specifying the search token returned from
     *   this request.
     *   The device shall continue searching until one of the following occurs:
     *
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   This operation is mandatory to support whenever CanContainPTZ is true for any metadata
     *   track in any recording on the device.
     */
    static FindPTZPosition(StartPoint: string, Scope: SearchScope, SearchFilter: PTZPositionFilter, KeepAliveTime: string, EndPoint?: string, MaxMatches?: number): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * GetPTZPositionSearchResults acquires the results from a ptz position search session
     *   previously initiated by a FindPTZPosition operation. The response shall not include results
     *   already returned in previous requests for the same session. If MaxResults is specified, the
     *   response shall not contain more than MaxResults results.
     *   GetPTZPositionSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support whenever CanContainPTZ is true for any metadata
     *   track in any recording on the device.
     */
    static GetPTZPositionSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * GetSearchState returns the current state of the specified search session. This command is deprecated .
     */
    static GetSearchState(SearchToken: JobToken): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * EndSearch stops and ongoing search session, causing any blocking result request to return
     *   and the SearchToken to become invalid. If the search was interrupted before completion, the
     *   point in time that the search had reached shall be returned. If the search had not yet begun,
     *   the StartPoint shall be returned. If the search was completed the original EndPoint supplied
     *   by the Find operation shall be returned. When issuing EndSearch on a FindRecordings request the
     *   EndPoint is undefined and shall not be used since the FindRecordings request doesn't have
     *   StartPoint/EndPoint. This operation is mandatory to support for a device implementing the
     *   recording search service.
     *
     */
    static EndSearch(SearchToken: JobToken): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * FindMetadata starts a search session, looking for metadata in the scope (See 20.2.4) that
     *   matches the search filter defined in the request. Results from the search are acquired using
     *   the GetMetadataSearchResults request, specifying the search token returned from this
     *   request.
     *   The device shall continue searching until one of the following occurs:
     *
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   This operation is mandatory to support if the MetaDataSearch capability is set to true in the
     *   SearchCapabilities structure return by the GetCapabilities command in the Device service.
     */
    static FindMetadata(StartPoint: string, Scope: SearchScope, MetadataFilter: MetadataFilter, KeepAliveTime: string, EndPoint?: string, MaxMatches?: number): import("typescript-monads").IReader<IDeviceConfig, import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>>;
    /**
     * GetMetadataSearchResults acquires the results from a recording search session previously
     *   initiated by a FindMetadata operation. The response shall not include results already returned
     *   in previous requests for the same session. If MaxResults is specified, the response shall not
     *   contain more than MaxResults results.
     *   GetMetadataSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support if the MetaDataSearch capability is set to true in the
     *   SearchCapabilities structure return by the GetCapabilities command in the Device service.
     */
    static GetMetadataSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): 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 search 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>>;
    /**
     * GetRecordingSummary is used to get a summary description of all recorded data. This
     *   operation is mandatory to support for a device implementing the recording search service.
     */
    GetRecordingSummary(): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * Returns information about a single Recording specified by a RecordingToken. This operation
     *   is mandatory to support for a device implementing the recording search service.
     */
    GetRecordingInformation(RecordingToken: RecordingReference): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * Returns a set of media attributes for all tracks of the specified recordings at a specified point
     *   in time. Clients using this operation shall be able to use it as a non blocking operation. A
     *   device shall set the starttime and endtime of the MediaAttributes structure to equal values if
     *   calculating this range would causes this operation to block. See MediaAttributes structure for
     *   more information. This operation is mandatory to support for a device implementing the
     *   recording search service.
     */
    GetMediaAttributes(Time: string, RecordingTokens?: RecordingReference): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * FindRecordings starts a search session, looking for recordings that matches the scope (See
     *   20.2.4) defined in the request. Results from the search are acquired using the
     *   GetRecordingSearchResults request, specifying the search token returned from this request.
     *   The device shall continue searching until one of the following occurs:
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   The order of the results is undefined, to allow the device to return results in any order they
     *   are found. This operation is mandatory to support for a device implementing the recording
     *   search service.
     */
    FindRecordings(Scope: SearchScope, KeepAliveTime: string, MaxMatches?: number): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * GetRecordingSearchResults acquires the results from a recording search session previously
     *   initiated by a FindRecordings operation. The response shall not include results already
     *   returned in previous requests for the same session. If MaxResults is specified, the response
     *   shall not contain more than MaxResults results. The number of results relates to the number of recordings.
     *   For viewing individual recorded data for a signal track use the FindEvents method.
     *   GetRecordingSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support for a device implementing the recording search service.
     */
    GetRecordingSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * FindEvents starts a search session, looking for recording events (in the scope that
     *   matches the search filter defined in the request. Results from the search are
     *   acquired using the GetEventSearchResults request, specifying the search token returned from
     *   this request.
     *   The device shall continue searching until one of the following occurs:
     *
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   Results shall be ordered by time, ascending in case of forward search, or descending in case
     *   of backward search. This operation is mandatory to support for a device implementing the
     *   recording search service.
     */
    FindEvents(StartPoint: string, Scope: SearchScope, SearchFilter: EventFilter, IncludeStartState: boolean, KeepAliveTime: string, EndPoint?: string, MaxMatches?: number): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * GetEventSearchResults acquires the results from a recording event search session previously
     *   initiated by a FindEvents operation. The response shall not include results already returned in
     *   previous requests for the same session. If MaxResults is specified, the response shall not
     *   contain more than MaxResults results.
     *   GetEventSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support for a device implementing the recording search service.
     */
    GetEventSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * FindPTZPosition starts a search session, looking for ptz positions in the scope (See 20.2.4)
     *   that matches the search filter defined in the request. Results from the search are acquired
     *   using the GetPTZPositionSearchResults request, specifying the search token returned from
     *   this request.
     *   The device shall continue searching until one of the following occurs:
     *
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   This operation is mandatory to support whenever CanContainPTZ is true for any metadata
     *   track in any recording on the device.
     */
    FindPTZPosition(StartPoint: string, Scope: SearchScope, SearchFilter: PTZPositionFilter, KeepAliveTime: string, EndPoint?: string, MaxMatches?: number): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * GetPTZPositionSearchResults acquires the results from a ptz position search session
     *   previously initiated by a FindPTZPosition operation. The response shall not include results
     *   already returned in previous requests for the same session. If MaxResults is specified, the
     *   response shall not contain more than MaxResults results.
     *   GetPTZPositionSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support whenever CanContainPTZ is true for any metadata
     *   track in any recording on the device.
     */
    GetPTZPositionSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * GetSearchState returns the current state of the specified search session. This command is deprecated .
     */
    GetSearchState(SearchToken: JobToken): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * EndSearch stops and ongoing search session, causing any blocking result request to return
     *   and the SearchToken to become invalid. If the search was interrupted before completion, the
     *   point in time that the search had reached shall be returned. If the search had not yet begun,
     *   the StartPoint shall be returned. If the search was completed the original EndPoint supplied
     *   by the Find operation shall be returned. When issuing EndSearch on a FindRecordings request the
     *   EndPoint is undefined and shall not be used since the FindRecordings request doesn't have
     *   StartPoint/EndPoint. This operation is mandatory to support for a device implementing the
     *   recording search service.
     *
     */
    EndSearch(SearchToken: JobToken): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * FindMetadata starts a search session, looking for metadata in the scope (See 20.2.4) that
     *   matches the search filter defined in the request. Results from the search are acquired using
     *   the GetMetadataSearchResults request, specifying the search token returned from this
     *   request.
     *   The device shall continue searching until one of the following occurs:
     *
     *   The entire time range from StartPoint to EndPoint has been searched through.
     *   The total number of matches has been found, defined by the MaxMatches parameter.
     *   The session has been ended by a client EndSession request.
     *   The session has been ended because KeepAliveTime since the last request related to
     *   this session has expired.
     *
     *   This operation is mandatory to support if the MetaDataSearch capability is set to true in the
     *   SearchCapabilities structure return by the GetCapabilities command in the Device service.
     */
    FindMetadata(StartPoint: string, Scope: SearchScope, MetadataFilter: MetadataFilter, KeepAliveTime: string, EndPoint?: string, MaxMatches?: number): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
    /**
     * GetMetadataSearchResults acquires the results from a recording search session previously
     *   initiated by a FindMetadata operation. The response shall not include results already returned
     *   in previous requests for the same session. If MaxResults is specified, the response shall not
     *   contain more than MaxResults results.
     *   GetMetadataSearchResults shall block until:
     *
     *   MaxResults results are available for the response if MaxResults is specified.
     *   MinResults results are available for the response if MinResults is specified.
     *   WaitTime has expired.
     *   Search is completed or stopped.
     *
     *   This operation is mandatory to support if the MetaDataSearch capability is set to true in the
     *   SearchCapabilities structure return by the GetCapabilities command in the Device service.
     */
    GetMetadataSearchResults(SearchToken: JobToken, MinResults?: number, MaxResults?: number, WaitTime?: string): import("rxjs").Observable<import("typescript-monads").IResult<import("../soap/request").IResultStructure<any>, import("../config").ITransportPayoad>>;
}
