import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiResponseObjectAdvertiserDynamicVideoConfig } from '../model/apiResponseObjectAdvertiserDynamicVideoConfig';
import { ApiResponseObjectListAppSettingsDTO } from '../model/apiResponseObjectListAppSettingsDTO';
import { ApiResponseObjectListDynamicVideoTemplate } from '../model/apiResponseObjectListDynamicVideoTemplate';
import { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';
import { AppSettingsDTO } from '../model/appSettingsDTO';
import { DynamicVideoDTO } from '../model/dynamicVideoDTO';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class AppSettingsControllerService {
    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 create App Settings
     *
     * @param appSettings appSettings
     * @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.
     */
    createAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAppSettingsDTO>;
    createAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAppSettingsDTO>>;
    createAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAppSettingsDTO>>;
    /**
     *  Api to fetch sample dynamic video templates
     *
     * @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.
     */
    fetchAllDynamicVideoTemplatesUsingGET(reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListDynamicVideoTemplate>;
    fetchAllDynamicVideoTemplatesUsingGET(reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListDynamicVideoTemplate>>;
    fetchAllDynamicVideoTemplatesUsingGET(reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListDynamicVideoTemplate>>;
    /**
     * Api to fetch dynamic video config for given advertiserid
     *
     * @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.
     */
    fetchDynamicVideoConfigUsingGET(advertiserId?: number, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectAdvertiserDynamicVideoConfig>;
    fetchDynamicVideoConfigUsingGET(advertiserId?: number, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectAdvertiserDynamicVideoConfig>>;
    fetchDynamicVideoConfigUsingGET(advertiserId?: number, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectAdvertiserDynamicVideoConfig>>;
    /**
     *  Api to get App Settings
     *
     * @param advertiserId advertiserId
     * @param reqId request id
     * @param settingsKeys settingsKeys
     * @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.
     */
    getAppSettingsUsingGET(advertiserId?: number, reqId?: string, settingsKeys?: Array<'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING'>, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAppSettingsDTO>;
    getAppSettingsUsingGET(advertiserId?: number, reqId?: string, settingsKeys?: Array<'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING'>, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAppSettingsDTO>>;
    getAppSettingsUsingGET(advertiserId?: number, reqId?: string, settingsKeys?: Array<'LOGO_LINK' | 'FALLBACK_IMG_LINK' | 'OVERLAY_IMG_LINK' | 'DEFAULT_LOGO' | 'CREATIVE_NAME_FORMAT' | 'CLICK_SIGNING'>, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAppSettingsDTO>>;
    /**
     *  Api to update App Settings
     *
     * @param appSettings appSettings
     * @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.
     */
    updateAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectListAppSettingsDTO>;
    updateAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectListAppSettingsDTO>>;
    updateAppSettingsUsingPOST(appSettings: Array<AppSettingsDTO>, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectListAppSettingsDTO>>;
    /**
     *  Api to upsert dynamic video
     *
     * @param dynamicVideoDTO dynamicVideoDTO
     * @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.
     */
    upsertDynamicVideoUsingPOST(dynamicVideoDTO: DynamicVideoDTO, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;
    upsertDynamicVideoUsingPOST(dynamicVideoDTO: DynamicVideoDTO, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;
    upsertDynamicVideoUsingPOST(dynamicVideoDTO: DynamicVideoDTO, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<AppSettingsControllerService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<AppSettingsControllerService>;
}
