/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.18.2755
 * Contact: servicedesk@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
import { HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs';
import { TableCustomfieldsColumnTypeStudio } from '../model/models';
import { TableTransportColumnTypeStudio } from '../model/models';
import { TableTransportFilterListStudio } from '../model/models';
import { TableTransportListStudio } from '../model/models';
import { TableTransportMetricsFilterListStudio } from '../model/models';
import { TableTransportMetricsStudio } from '../model/models';
import { WebTransportGeopointListStudio } from '../model/models';
import { WebTransportStudio } from '../model/models';
import { Configuration } from '../configuration';
export interface CreateTransportRequestParams {
    experimentKey: string;
    webTransportStudio: WebTransportStudio;
}
export interface DeleteTransportRequestParams {
    experimentKey: string;
    essenceKey: string;
}
export interface DisableTransportsRequestParams {
    experimentKey: string;
    requestBody: Array<string>;
}
export interface EnableTransportsRequestParams {
    experimentKey: string;
    requestBody: Array<string>;
}
export interface ReadTransportRequestParams {
    experimentKey: string;
    essenceKey: string;
}
export interface ReadTransportsRequestParams {
    experimentKey: string;
    offset?: number;
    limit?: number;
    sortField?: TableTransportColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tableTransportFilterListStudio?: TableTransportFilterListStudio;
}
export interface ReadTransportsGeopointsRequestParams {
    experimentKey: string;
    offset?: number;
    limit?: number;
    tableTransportFilterListStudio?: TableTransportFilterListStudio;
}
export interface ReadTransportsMetricsRequestParams {
    experimentKey: string;
    tableTransportMetricsFilterListStudio: TableTransportMetricsFilterListStudio;
}
export interface UpdateTransportRequestParams {
    experimentKey: string;
    webTransportStudio: WebTransportStudio;
}
export interface TransportsServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create transport
     * New essences creation.
* @param requestParameters
     */
    createTransport(requestParameters: CreateTransportRequestParams, extraHttpRequestParams?: any): Observable<WebTransportStudio>;
    /**
     * Remove transport
     * Removing a transport by key.
* @param requestParameters
     */
    deleteTransport(requestParameters: DeleteTransportRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable transports
     * Disable transports in the calculation.
* @param requestParameters
     */
    disableTransports(requestParameters: DisableTransportsRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable transports
     * Enable transports in the calculation.
* @param requestParameters
     */
    enableTransports(requestParameters: EnableTransportsRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Reading transport
     * Getting transport information by key.
* @param requestParameters
     */
    readTransport(requestParameters: ReadTransportRequestParams, extraHttpRequestParams?: any): Observable<WebTransportStudio>;
    /**
     * Transport list
     * Getting a transport list.
* @param requestParameters
     */
    readTransports(requestParameters: ReadTransportsRequestParams, extraHttpRequestParams?: any): Observable<TableTransportListStudio>;
    /**
     * Transport geopoints
     * Getting a geopoints.
* @param requestParameters
     */
    readTransportsGeopoints(requestParameters: ReadTransportsGeopointsRequestParams, extraHttpRequestParams?: any): Observable<WebTransportGeopointListStudio>;
    /**
     * Transport metrics
     * Calculate general metrics for selected transports.
* @param requestParameters
     */
    readTransportsMetrics(requestParameters: ReadTransportsMetricsRequestParams, extraHttpRequestParams?: any): Observable<TableTransportMetricsStudio>;
    /**
     * Update transport
     * Updating the essence by key.
* @param requestParameters
     */
    updateTransport(requestParameters: UpdateTransportRequestParams, extraHttpRequestParams?: any): Observable<WebTransportStudio>;
}
