import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { AdvertiserAppSettingsDTO } from '../model/advertiserAppSettingsDTO';
import { AdvertiserCohortDTO } from '../model/advertiserCohortDTO';
import { AdvertiserPojo } from '../model/advertiserPojo';
import { ApiResponseObjectAdvertiserCohortResponseList } from '../model/apiResponseObjectAdvertiserCohortResponseList';
import { ApiResponseObjectAdvertiserCurrencyData } from '../model/apiResponseObjectAdvertiserCurrencyData';
import { ApiResponseObjectAdvertiserPojo } from '../model/apiResponseObjectAdvertiserPojo';
import { ApiResponseObjectAdvertiserSettings } from '../model/apiResponseObjectAdvertiserSettings';
import { ApiResponseObjectApiListResponseBaseModel } from '../model/apiResponseObjectApiListResponseBaseModel';
import { ApiResponseObjectCohortCampaignStrategyResponse } from '../model/apiResponseObjectCohortCampaignStrategyResponse';
import { ApiResponseObjectMaplongResponseMessage } from '../model/apiResponseObjectMaplongResponseMessage';
import { ApiResponseObjectSkadTargetPrivileges } from '../model/apiResponseObjectSkadTargetPrivileges';
import { ApiResponseObjectTag } from '../model/apiResponseObjectTag';
import { ApiResponseObjectboolean } from '../model/apiResponseObjectboolean';
import { ApiResponseObjectstring } from '../model/apiResponseObjectstring';
import { SearchRequest } from '../model/searchRequest';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class AdvertiserControllerService {
    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;
    /**
     * activate Lists of Advertisers id
     *
     * @param commaSepratedIds commaSepratedIds
     * @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.
     */
    activateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;
    activateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;
    activateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;
    /**
     *  Api to create Advertiser
     *
     * @param advertiser advertiser
     * @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.
     */
    createAdvertiserUsingPOST(advertiser: AdvertiserPojo, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserPojo>;
    createAdvertiserUsingPOST(advertiser: AdvertiserPojo, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserPojo>>;
    createAdvertiserUsingPOST(advertiser: AdvertiserPojo, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserPojo>>;
    /**
     * deactivate Lists of Advertisers id
     *
     * @param commaSepratedIds commaSepratedIds
     * @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.
     */
    deactivateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectMaplongResponseMessage>;
    deactivateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectMaplongResponseMessage>>;
    deactivateAdvertiserUsingPOST(commaSepratedIds: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectMaplongResponseMessage>>;
    /**
     * Get active advertisers without Slack channel configured for current licensee
     *
     * @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.
     */
    getActiveAdvertisersWithoutSlackChannelUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectApiListResponseBaseModel>;
    getActiveAdvertisersWithoutSlackChannelUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectApiListResponseBaseModel>>;
    getActiveAdvertisersWithoutSlackChannelUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectApiListResponseBaseModel>>;
    /**
     * get the data for individual graph under advertiser analytics page
     *
     * @param id id
     * @param type type
     * @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.
     */
    getAdvertiserAnalyticsUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectstring>;
    getAdvertiserAnalyticsUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectstring>>;
    getAdvertiserAnalyticsUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectstring>>;
    /**
     * API to get cohort data for advertiser
     *
     * @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.
     */
    getAdvertiserCohortDetailsUsingPOST(dto: AdvertiserCohortDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserCohortResponseList>;
    getAdvertiserCohortDetailsUsingPOST(dto: AdvertiserCohortDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserCohortResponseList>>;
    getAdvertiserCohortDetailsUsingPOST(dto: AdvertiserCohortDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserCohortResponseList>>;
    /**
     * get Advertiser Settings by Id
     *
     * @param id id
     * @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.
     */
    getAdvertiserSettingsUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserSettings>;
    getAdvertiserSettingsUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserSettings>>;
    getAdvertiserSettingsUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserSettings>>;
    /**
     * get Advertiser by Id
     *
     * @param id id
     * @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.
     */
    getByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserPojo>;
    getByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserPojo>>;
    getByIdUsingGET(id: number, refresh?: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserPojo>>;
    /**
     * API to return Campaign or Strategy List for Cohort
     *
     * @param id id
     * @param type type
     * @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.
     */
    getCampaignOrStrategyListForCohortUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectCohortCampaignStrategyResponse>;
    getCampaignOrStrategyListForCohortUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectCohortCampaignStrategyResponse>>;
    getCampaignOrStrategyListForCohortUsingGET(id: number, type: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectCohortCampaignStrategyResponse>>;
    /**
     * API to check if advertiser has any cohort
     *
     * @param id id
     * @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.
     */
    getIfAdvertiserCohortUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserCurrencyData>;
    getIfAdvertiserCohortUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserCurrencyData>>;
    getIfAdvertiserCohortUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserCurrencyData>>;
    /**
     * Fetch privileges for creating SKAD Target
     *
     * @param searchRequest searchRequest
     * @param advertiserId advertiserId
     * @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.
     */
    getSkadTargetPrivilegesUsingPOST(searchRequest: SearchRequest, advertiserId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectSkadTargetPrivileges>;
    getSkadTargetPrivilegesUsingPOST(searchRequest: SearchRequest, advertiserId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectSkadTargetPrivileges>>;
    getSkadTargetPrivilegesUsingPOST(searchRequest: SearchRequest, advertiserId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectSkadTargetPrivileges>>;
    /**
     * get smart tag by advertiser Id
     *
     * @param id id
     * @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.
     */
    getSmartTagUsingGET(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectTag>;
    getSmartTagUsingGET(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectTag>>;
    getSmartTagUsingGET(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectTag>>;
    /**
     * generate AST for all advertisers
     *
     * @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.
     */
    updateASTUsingPOST(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectboolean>;
    updateASTUsingPOST(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectboolean>>;
    updateASTUsingPOST(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectboolean>>;
    /**
     * generate AST for given Advertiser id
     *
     * @param id id
     * @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.
     */
    updateASTUsingPOST1(id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectboolean>;
    updateASTUsingPOST1(id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectboolean>>;
    updateASTUsingPOST1(id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectboolean>>;
    /**
     *  Update advertiser setting by key
     *
     * @param id id
     * @param settingDto settingDto
     * @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.
     */
    updateAdvertiserSettingByKeyUsingPOST(id: number, settingDto: AdvertiserAppSettingsDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserSettings>;
    updateAdvertiserSettingByKeyUsingPOST(id: number, settingDto: AdvertiserAppSettingsDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserSettings>>;
    updateAdvertiserSettingByKeyUsingPOST(id: number, settingDto: AdvertiserAppSettingsDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserSettings>>;
    /**
     * update  Advertiser
     *
     * @param advertiser advertiser
     * @param id id
     * @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.
     */
    updateAdvertiserUsingPOST(advertiser: AdvertiserPojo, id: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserPojo>;
    updateAdvertiserUsingPOST(advertiser: AdvertiserPojo, id: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserPojo>>;
    updateAdvertiserUsingPOST(advertiser: AdvertiserPojo, id: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserPojo>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AdvertiserControllerService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AdvertiserControllerService>;
}
