/**
 * herd
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * OpenAPI spec version: 0.219.0-SNAPSHOT
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { HttpClient, HttpHeaders, HttpResponse, HttpEvent } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Job } from '../model/job';
import { JobCreateRequest } from '../model/jobCreateRequest';
import { JobDeleteRequest } from '../model/jobDeleteRequest';
import { JobSignalRequest } from '../model/jobSignalRequest';
import { JobSummaries } from '../model/jobSummaries';
import { JobUpdateRequest } from '../model/jobUpdateRequest';
import { Configuration } from '../configuration';
export declare class JobService {
    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;
    /**
     * createJob
     * Creates and starts a new job asynchronously. &lt;p&gt;Requires EXECUTE permission on namespace&lt;/p&gt;
     * @param jobCreateRequest the information needed to create the job.
     * @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.
     */
    jobCreateJob(jobCreateRequest: JobCreateRequest, observe?: 'body', reportProgress?: boolean): Observable<Job>;
    jobCreateJob(jobCreateRequest: JobCreateRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Job>>;
    jobCreateJob(jobCreateRequest: JobCreateRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Job>>;
    /**
     * deleteJob
     * Deletes a currently running job and preserves the job state in history. &lt;p&gt;Requires EXECUTE permission on namespace&lt;/p&gt;
     * @param id The job id
     * @param jobDeleteRequest The delete request
     * @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.
     */
    jobDeleteJob(id: string, jobDeleteRequest: JobDeleteRequest, observe?: 'body', reportProgress?: boolean): Observable<Job>;
    jobDeleteJob(id: string, jobDeleteRequest: JobDeleteRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Job>>;
    jobDeleteJob(id: string, jobDeleteRequest: JobDeleteRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Job>>;
    /**
     * getJob
     * Gets the details of a previously submitted job. &lt;p&gt;Requires READ permission on namespace&lt;/p&gt;
     * @param id the job id.
     * @param verbose
     * @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.
     */
    jobGetJob(id: string, verbose?: boolean, observe?: 'body', reportProgress?: boolean): Observable<Job>;
    jobGetJob(id: string, verbose?: boolean, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Job>>;
    jobGetJob(id: string, verbose?: boolean, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Job>>;
    /**
     * getJobs
     * &lt;p&gt;Gets a list of job executions based on the specified filter parameters.&lt;/p&gt; &lt;p&gt;Jobs&#39; namespace to which you do not have READ permissions to will be omitted from the result.&lt;/p&gt;
     * @param namespace an optional namespace filter
     * @param jobName an optional job name filter
     * @param status an optional job status filter
     * @param startTime an optional start time filter (ex. 2015, 2015-12, 2015-12-28, 2015-12-12T3:4:5)
     * @param endTime an optional end time filter (ex. 2015, 2015-12, 2015-12-28, 2015-12-12T3:4:5)
     * @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.
     */
    jobGetJobs(namespace?: string, jobName?: string, status?: 'RUNNING' | 'SUSPENDED' | 'COMPLETED', startTime?: string, endTime?: string, observe?: 'body', reportProgress?: boolean): Observable<JobSummaries>;
    jobGetJobs(namespace?: string, jobName?: string, status?: 'RUNNING' | 'SUSPENDED' | 'COMPLETED', startTime?: string, endTime?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<JobSummaries>>;
    jobGetJobs(namespace?: string, jobName?: string, status?: 'RUNNING' | 'SUSPENDED' | 'COMPLETED', startTime?: string, endTime?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<JobSummaries>>;
    /**
     * signalJob
     * Signals the job with the receive task. &lt;p&gt;Requires EXECUTE permission on namespace&lt;/p&gt;
     * @param jobSignalRequest the information needed to signal the job.
     * @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.
     */
    jobSignalJob(jobSignalRequest: JobSignalRequest, observe?: 'body', reportProgress?: boolean): Observable<Job>;
    jobSignalJob(jobSignalRequest: JobSignalRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Job>>;
    jobSignalJob(jobSignalRequest: JobSignalRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Job>>;
    /**
     * updateJob
     * Activates or suspends a job execution. &lt;p&gt;Requires EXECUTE permission on namespace&lt;/p&gt;
     * @param id the job id
     * @param jobUpdateRequest the job update request
     * @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.
     */
    jobUpdateJob(id: string, jobUpdateRequest: JobUpdateRequest, observe?: 'body', reportProgress?: boolean): Observable<Job>;
    jobUpdateJob(id: string, jobUpdateRequest: JobUpdateRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<Job>>;
    jobUpdateJob(id: string, jobUpdateRequest: JobUpdateRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<Job>>;
}
