import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiListResponseCreativeSizeMappingDTO } from '../model/apiListResponseCreativeSizeMappingDTO';
import { CreativeAssetOptimizationRequest } from '../model/creativeAssetOptimizationRequest';
import { CreativeAssetUploadResponse } from '../model/creativeAssetUploadResponse';
import { OptimizationJobStatusResponse } from '../model/optimizationJobStatusResponse';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class CreativeSetsV2ControllerService {
    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;
    /**
     * Poll job status/progress — drives the loader % and the Generation Results table.
     *
     * @param jobId jobId
     * @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.
     */
    getJobStatusUsingGET(jobId: string, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<OptimizationJobStatusResponse>;
    getJobStatusUsingGET(jobId: string, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<OptimizationJobStatusResponse>>;
    getJobStatusUsingGET(jobId: string, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<OptimizationJobStatusResponse>>;
    /**
     * Fetch the full size-mapping config for a creative type (browser caches this for the session).
     *
     * @param creativeType creativeType
     * @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.
     */
    getSizeMappingConfigUsingGET(creativeType: 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseCreativeSizeMappingDTO>;
    getSizeMappingConfigUsingGET(creativeType: 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseCreativeSizeMappingDTO>>;
    getSizeMappingConfigUsingGET(creativeType: 'IMAGE' | 'VIDEO' | 'THIRD_PARTY_AD_TAGS' | 'ZIPPED_HTML' | 'NATIVE_IMAGE' | 'NATIVE_VIDEO' | 'DYNAMIC_IMAGE' | 'DYNAMIC_MACRO' | 'DYNAMIC_HTML' | 'DYNAMIC_VIDEO' | 'HYBRID_STATIC_AD' | 'HYBRID_DYNAMIC_AD' | 'THIRD_PARTY_VIDEO_AD_TAGS' | 'NATIVE_ICON' | 'ICON' | 'CTV_VIDEO' | 'PLAYABLE', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseCreativeSizeMappingDTO>>;
    /**
     * Create a new CreativeSet from the previously-uploaded asset&#39;s mediaId + selected target sizes. Pure JSON — the file itself already traveled in the earlier /upload call. Returns immediately with a jobId.
     *
     * @param request request
     * @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.
     */
    saveUsingPOST(request: CreativeAssetOptimizationRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<{
        [key: string]: string;
    }>;
    saveUsingPOST(request: CreativeAssetOptimizationRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<{
        [key: string]: string;
    }>>;
    saveUsingPOST(request: CreativeAssetOptimizationRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<{
        [key: string]: string;
    }>>;
    /**
     * Edit an existing CreativeSet — replaces every one of its creatives with freshly-generated ones from the submitted assets/target sizes, or, if assets is empty, de-links only the creatives listed in creativeSetRequest.creativesToDeLink. Mirrors the legacy flow&#39;s POST /creativesets/{id}, but goes through the same async upload -&gt; save -&gt; poll job pipeline as create. Returns immediately with a jobId.
     *
     * @param id id
     * @param request request
     * @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.
     */
    updateUsingPOST(id: number, request: CreativeAssetOptimizationRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<{
        [key: string]: string;
    }>;
    updateUsingPOST(id: number, request: CreativeAssetOptimizationRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<{
        [key: string]: string;
    }>>;
    updateUsingPOST(id: number, request: CreativeAssetOptimizationRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<{
        [key: string]: string;
    }>>;
    /**
     * Upload the original asset only — persists it, detects its dimensions, and returns a mediaId. Called silently in the background while the user fills out the rest of the creative form; does not create a job or touch the database&#39;s Creative/CreativeSets tables.
     *
     * @param advertiserId advertiserId
     * @param creativeSetType creativeSetType
     * @param file file
     * @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.
     */
    uploadUsingPOST(advertiserId: any, creativeSetType: any, file: Blob, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<CreativeAssetUploadResponse>;
    uploadUsingPOST(advertiserId: any, creativeSetType: any, file: Blob, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<CreativeAssetUploadResponse>>;
    uploadUsingPOST(advertiserId: any, creativeSetType: any, file: Blob, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<CreativeAssetUploadResponse>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<CreativeSetsV2ControllerService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<CreativeSetsV2ControllerService>;
}
