import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { ApiListResponseBaseModel } from '../model/apiListResponseBaseModel';
import { ApiListResponseReportingSchedulerResponse } from '../model/apiListResponseReportingSchedulerResponse';
import { ApiListResponseReportingSchedulerUserResponse } from '../model/apiListResponseReportingSchedulerUserResponse';
import { ApiResponseObjectReportingSchedulerResponse } from '../model/apiResponseObjectReportingSchedulerResponse';
import { ApiResponseObjectResponseMessage } from '../model/apiResponseObjectResponseMessage';
import { ReportingSchedulerRequest } from '../model/reportingSchedulerRequest';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class ReportingSchedulerControllerService {
    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;
    /**
     * create scheduled report
     *
     * @param reportingSchedulerRequest reportingSchedulerRequest
     * @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.
     */
    createScheduledReportUsingPOST(reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;
    createScheduledReportUsingPOST(reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;
    createScheduledReportUsingPOST(reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;
    /**
     * fetch all scheduler jobs
     *
     * @param refresh refresh
     * @param reportType reportType
     * @param reqId request id
     * @param status status
     * @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.
     */
    getAllSchedulerJobsUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseReportingSchedulerResponse>;
    getAllSchedulerJobsUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseReportingSchedulerResponse>>;
    getAllSchedulerJobsUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseReportingSchedulerResponse>>;
    /**
     * fetch all templates
     *
     * @param refresh refresh
     * @param reportType reportType
     * @param reqId request id
     * @param status status
     * @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.
     */
    getAllTemplatesUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseBaseModel>;
    getAllTemplatesUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseBaseModel>>;
    getAllTemplatesUsingGET(refresh: boolean, reportType: 'ADVANCED' | 'CONVERSION' | 'INVENTORY' | 'LOSS_BID' | 'VIDEO' | 'ALL', reqId?: string, status?: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseBaseModel>>;
    /**
     * fetch all users
     *
     * @param isCostMetricsSelected isCostMetricsSelected
     * @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.
     */
    getAllUsersUsingGET(isCostMetricsSelected: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiListResponseReportingSchedulerUserResponse>;
    getAllUsersUsingGET(isCostMetricsSelected: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiListResponseReportingSchedulerUserResponse>>;
    getAllUsersUsingGET(isCostMetricsSelected: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiListResponseReportingSchedulerUserResponse>>;
    /**
     * fetch specific report template
     *
     * @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.
     */
    getReportTemplateUsingGET(id: number, refresh: boolean, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectReportingSchedulerResponse>;
    getReportTemplateUsingGET(id: number, refresh: boolean, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectReportingSchedulerResponse>>;
    getReportTemplateUsingGET(id: number, refresh: boolean, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectReportingSchedulerResponse>>;
    /**
     * update status of scheduled report
     *
     * @param ids ids
     * @param status status
     * @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.
     */
    statusScheduledReportUsingPOST(ids: string, status: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;
    statusScheduledReportUsingPOST(ids: string, status: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;
    statusScheduledReportUsingPOST(ids: string, status: 'ACTIVE' | 'ARCHIVED' | 'INACTIVE', reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;
    /**
     * update scheduled report
     *
     * @param id id
     * @param reportingSchedulerRequest reportingSchedulerRequest
     * @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.
     */
    updateScheduledReportUsingPOST(id: number, reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'body', reportProgress?: boolean): Observable<ApiResponseObjectResponseMessage>;
    updateScheduledReportUsingPOST(id: number, reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<ApiResponseObjectResponseMessage>>;
    updateScheduledReportUsingPOST(id: number, reportingSchedulerRequest: ReportingSchedulerRequest, reqId?: string, token?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<ApiResponseObjectResponseMessage>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ReportingSchedulerControllerService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ReportingSchedulerControllerService>;
}
