/**
 * 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 { TablePerformerColumnTypeStudio } from '../model/models';
import { TablePerformerFilterListStudio } from '../model/models';
import { TablePerformerListStudio } from '../model/models';
import { TablePerformerMetricsFilterListStudio } from '../model/models';
import { TablePerformerMetricsStudio } from '../model/models';
import { WebPerformerGeopointListStudio } from '../model/models';
import { WebPerformerStudio } from '../model/models';
import { Configuration } from '../configuration';
export interface CreatePerformerRequestParams {
    experimentKey: string;
    webPerformerStudio: WebPerformerStudio;
}
export interface DeletePerformerRequestParams {
    experimentKey: string;
    essenceKey: string;
}
export interface DisablePerformersRequestParams {
    experimentKey: string;
    requestBody: Array<string>;
}
export interface EnablePerformersRequestParams {
    experimentKey: string;
    requestBody: Array<string>;
}
export interface ReadPerformerRequestParams {
    experimentKey: string;
    essenceKey: string;
}
export interface ReadPerformersRequestParams {
    experimentKey: string;
    offset?: number;
    limit?: number;
    sortField?: TablePerformerColumnTypeStudio;
    sortCustomfield?: TableCustomfieldsColumnTypeStudio;
    sortDirection?: 'ASC' | 'DESC';
    tablePerformerFilterListStudio?: TablePerformerFilterListStudio;
}
export interface ReadPerformersGeopointsRequestParams {
    experimentKey: string;
    offset?: number;
    limit?: number;
    tablePerformerFilterListStudio?: TablePerformerFilterListStudio;
}
export interface ReadPerformersMetricsRequestParams {
    experimentKey: string;
    tablePerformerMetricsFilterListStudio: TablePerformerMetricsFilterListStudio;
}
export interface UpdatePerformerRequestParams {
    experimentKey: string;
    webPerformerStudio: WebPerformerStudio;
}
export interface PerformersServiceInterface {
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    /**
     * Create performer
     * Create performer.
* @param requestParameters
     */
    createPerformer(requestParameters: CreatePerformerRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerStudio>;
    /**
     * Remove performer
     * Removing a performer by key.
* @param requestParameters
     */
    deletePerformer(requestParameters: DeletePerformerRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Disable performers
     * Disable performers in the calculation.
* @param requestParameters
     */
    disablePerformers(requestParameters: DisablePerformersRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Enable performers
     * Enable performers in the calculation.
* @param requestParameters
     */
    enablePerformers(requestParameters: EnablePerformersRequestParams, extraHttpRequestParams?: any): Observable<{}>;
    /**
     * Read performer
     * Getting performer information by key.
* @param requestParameters
     */
    readPerformer(requestParameters: ReadPerformerRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerStudio>;
    /**
     * Performers list
     * Getting a performers list.
* @param requestParameters
     */
    readPerformers(requestParameters: ReadPerformersRequestParams, extraHttpRequestParams?: any): Observable<TablePerformerListStudio>;
    /**
     * Performer geopoints
     * Getting a geopoints.
* @param requestParameters
     */
    readPerformersGeopoints(requestParameters: ReadPerformersGeopointsRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerGeopointListStudio>;
    /**
     * Performer metrics
     * Calculate general metrics for selected performers.
* @param requestParameters
     */
    readPerformersMetrics(requestParameters: ReadPerformersMetricsRequestParams, extraHttpRequestParams?: any): Observable<TablePerformerMetricsStudio>;
    /**
     * Update performer
     * Updating the performer by key.
* @param requestParameters
     */
    updatePerformer(requestParameters: UpdatePerformerRequestParams, extraHttpRequestParams?: any): Observable<WebPerformerStudio>;
}
