import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ABTestingDTO } from '../model/aBTestingDTO';
import { ApiResponseObjectABTestingResponseDetails } from '../model/apiResponseObjectABTestingResponseDetails';
import { ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject } from '../model/apiResponseObjectIncrementalityTestCreateFormAudienceResponseObject';
import { ApiResponseObjectIncrementalityTestDetails } from '../model/apiResponseObjectIncrementalityTestDetails';
import { ApiResponseObjectIncrementalityTestReportCalculationDetails } from '../model/apiResponseObjectIncrementalityTestReportCalculationDetails';
import { ApiResponseObjectIncrementalityTestResponse } from '../model/apiResponseObjectIncrementalityTestResponse';
import { ApiResponseObjectListABTestingResponseDetails } from '../model/apiResponseObjectListABTestingResponseDetails';
import { ApiResponseObjectListDashboardResponse } from '../model/apiResponseObjectListDashboardResponse';
import { ApiResponseObjectListExperimentsEntity } from '../model/apiResponseObjectListExperimentsEntity';
import { ApiResponseObjectListIncrementalityTestDetails } from '../model/apiResponseObjectListIncrementalityTestDetails';
import { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';
import { ApiResponseObjectStrategyAudienceIncTestMap } from '../model/apiResponseObjectStrategyAudienceIncTestMap';
import { ApiResponseObjectVoid } from '../model/apiResponseObjectVoid';
import { IncrementalityTestDTO } from '../model/incrementalityTestDTO';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class ExperimentsControllerService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
    /**
     * @param consumes string[] mime-types
     * @return true: consumes contains 'multipart/form-data', false: otherwise
     */
    private canConsumeForm;
    /**
     *  API to activate AB Test Experiment.
     *
     * @param expId expId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    activateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectVoid>;
    activateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectVoid>>;
    activateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectVoid>>;
    /**
     * API to Activate Lists of Incrementality Test Experiment Ids.
     *
     * @param experimentIds experimentIds
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    activateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;
    activateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;
    activateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;
    /**
     *  API to archive AB Test Experiment.
     *
     * @param expId expId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    archiveABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectVoid>;
    archiveABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectVoid>>;
    archiveABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectVoid>>;
    /**
     * API to Archive Lists of Incrementality Test Experiment ids
     *
     * @param experimentIds experimentIds
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    archiveExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;
    archiveExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;
    archiveExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;
    /**
     *  Api to  create AB Test Experiment.
     *
     * @param dto dto
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createABTestUsingPOST(dto: ABTestingDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestingResponseDetails>;
    createABTestUsingPOST(dto: ABTestingDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestingResponseDetails>>;
    createABTestUsingPOST(dto: ABTestingDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestingResponseDetails>>;
    /**
     *  Api to  create Incrementality Test Experiment.
     *
     * @param incrementalityTestRequest incrementalityTestRequest
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    createIncrementalityTestUsingPOST(incrementalityTestRequest: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestResponse>;
    createIncrementalityTestUsingPOST(incrementalityTestRequest: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestResponse>>;
    createIncrementalityTestUsingPOST(incrementalityTestRequest: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestResponse>>;
    /**
     *  API to deactivate AB Test Experiment.
     *
     * @param expId expId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deactivateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectVoid>;
    deactivateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectVoid>>;
    deactivateABTestUsingPOST(expId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectVoid>>;
    /**
     * API to Deactivate Lists of Incrementality Test Experiment Ids
     *
     * @param experimentIds experimentIds
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    deactivateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;
    deactivateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;
    deactivateExperimentUsingPOST(experimentIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;
    /**
     *  API to get an existing AB Test Metadata by Experiment Id.
     *
     * @param experimentId experimentId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getABTestByIdUsingGET(experimentId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestingResponseDetails>;
    getABTestByIdUsingGET(experimentId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestingResponseDetails>>;
    getABTestByIdUsingGET(experimentId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestingResponseDetails>>;
    /**
     * API to get all experiments of type ABTest.
     *
     * @param licenseeId licenseeId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getAllABTestsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListABTestingResponseDetails>;
    getAllABTestsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListABTestingResponseDetails>>;
    getAllABTestsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListABTestingResponseDetails>>;
    /**
     * API to get all experiments by Licensee Id.
     *
     * @param licenseeId licenseeId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getAllExperimentsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListExperimentsEntity>;
    getAllExperimentsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListExperimentsEntity>>;
    getAllExperimentsUsingGET(licenseeId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListExperimentsEntity>>;
    /**
     * API to get all Incrementality Tests for a given Licensee Id.
     *
     * @param licenseeId licenseeId
     * @param refresh refresh
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getAllReportsForIncrementalityTestUsingGET(licenseeId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListIncrementalityTestDetails>;
    getAllReportsForIncrementalityTestUsingGET(licenseeId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListIncrementalityTestDetails>>;
    getAllReportsForIncrementalityTestUsingGET(licenseeId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListIncrementalityTestDetails>>;
    /**
     * API to get Globally Blocked and Targeted Audiences for an Experiment, given the Campaign Id.
     *
     * @param campaignId campaignId
     * @param experimentId experimentId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getAudienceForIncrementalityTestUsingGET(campaignId: number, experimentId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject>;
    getAudienceForIncrementalityTestUsingGET(campaignId: number, experimentId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject>>;
    getAudienceForIncrementalityTestUsingGET(campaignId: number, experimentId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestCreateFormAudienceResponseObject>>;
    /**
     * API to get all Audiences in Strategy Update/Create for an Experiment, given the Campaign Id.
     *
     * @param campaignId campaignId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getAudienceForStrategyUpdateInIncrementalityTestUsingPOST(campaignId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectStrategyAudienceIncTestMap>;
    getAudienceForStrategyUpdateInIncrementalityTestUsingPOST(campaignId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectStrategyAudienceIncTestMap>>;
    getAudienceForStrategyUpdateInIncrementalityTestUsingPOST(campaignId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectStrategyAudienceIncTestMap>>;
    /**
     *  API to get an existing Incrementality Test Metadata by Experiment Id.
     *
     * @param experimentId experimentId
     * @param refresh refresh
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestDetails>;
    getIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestDetails>>;
    getIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestDetails>>;
    /**
     *  API to download an existing Incrementality Test Report CSV by Experiment Id.
     *
     * @param experimentId experimentId
     * @param refresh refresh
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getIncrementalityTestReportCsvByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestDetails>;
    getIncrementalityTestReportCsvByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestDetails>>;
    getIncrementalityTestReportCsvByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestDetails>>;
    /**
     * API to get Report for an Incrementality Test By Experiment Id
     *
     * @param experimentId experimentId
     * @param refresh refresh
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getReportForIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestReportCalculationDetails>;
    getReportForIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestReportCalculationDetails>>;
    getReportForIncrementalityTestByIdUsingGET(experimentId: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestReportCalculationDetails>>;
    /**
     * API to get AB Testing Variant Report by Experiment Id.
     *
     * @param experimentId experimentId
     * @param showuu showuu
     * @param refresh refresh
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    getVariantReportByExperimentIdUsingPOST(experimentId: number, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListDashboardResponse>;
    getVariantReportByExperimentIdUsingPOST(experimentId: number, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListDashboardResponse>>;
    getVariantReportByExperimentIdUsingPOST(experimentId: number, showuu: boolean, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListDashboardResponse>>;
    /**
     *  Api to  update exisiting AB Test Experiment.
     *
     * @param dto dto
     * @param experimentId experimentId
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateABTestUsingPOST(dto: ABTestingDTO, experimentId: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectABTestingResponseDetails>;
    updateABTestUsingPOST(dto: ABTestingDTO, experimentId: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectABTestingResponseDetails>>;
    updateABTestUsingPOST(dto: ABTestingDTO, experimentId: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectABTestingResponseDetails>>;
    /**
     * API to update Incrementality Test Experiment by Experiment Id.
     *
     * @param experimentId experimentId
     * @param incrementalityTestDTO incrementalityTestDTO
     * @param reqId request id
     * @param token Auth Token
     * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
     * @param reportProgress flag to report request and response progress.
     */
    updateIncrementalityTestUsingPOST(experimentId: number, incrementalityTestDTO: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectIncrementalityTestDetails>;
    updateIncrementalityTestUsingPOST(experimentId: number, incrementalityTestDTO: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectIncrementalityTestDetails>>;
    updateIncrementalityTestUsingPOST(experimentId: number, incrementalityTestDTO: IncrementalityTestDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectIncrementalityTestDetails>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ExperimentsControllerService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ExperimentsControllerService>;
}
