/**
 * 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 { JobDefinition } from '../model/jobDefinition';
import { JobDefinitionCreateRequest } from '../model/jobDefinitionCreateRequest';
import { JobDefinitionKeys } from '../model/jobDefinitionKeys';
import { JobDefinitionUpdateRequest } from '../model/jobDefinitionUpdateRequest';
import { Configuration } from '../configuration';
export declare class JobDefinitionService {
    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;
    /**
     * createJobDefinition
     * Creates a new job definition. &lt;p&gt;Requires WRITE permission on namespace&lt;/p&gt;
     * @param jobDefinitionCreateRequest the information needed to create the job definition.
     * @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.
     */
    jobDefinitionCreateJobDefinition(jobDefinitionCreateRequest: JobDefinitionCreateRequest, observe?: 'body', reportProgress?: boolean): Observable<JobDefinition>;
    jobDefinitionCreateJobDefinition(jobDefinitionCreateRequest: JobDefinitionCreateRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<JobDefinition>>;
    jobDefinitionCreateJobDefinition(jobDefinitionCreateRequest: JobDefinitionCreateRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<JobDefinition>>;
    /**
     * getJobDefinition
     * Gets an existing job definition. &lt;p&gt;Requires READ permission on namespace&lt;/p&gt;
     * @param namespace the namespace of the job definition.
     * @param jobName the job name of the job definition.
     * @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.
     */
    jobDefinitionGetJobDefinition(namespace: string, jobName: string, observe?: 'body', reportProgress?: boolean): Observable<JobDefinition>;
    jobDefinitionGetJobDefinition(namespace: string, jobName: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<JobDefinition>>;
    jobDefinitionGetJobDefinition(namespace: string, jobName: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<JobDefinition>>;
    /**
     * getJobDefinitionKeys
     * Gets a list of keys for all job definitions defined in the system for the specified namespace. &lt;p&gt;Requires READ permission on namespace&lt;/p&gt;
     * @param namespace the namespace of the job definition
     * @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.
     */
    jobDefinitionGetJobDefinitionKeys(namespace: string, observe?: 'body', reportProgress?: boolean): Observable<JobDefinitionKeys>;
    jobDefinitionGetJobDefinitionKeys(namespace: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<JobDefinitionKeys>>;
    jobDefinitionGetJobDefinitionKeys(namespace: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<JobDefinitionKeys>>;
    /**
     * updateJobDefinition
     * Updates an existing job definition. &lt;p&gt;Requires WRITE permission on namespace&lt;/p&gt;
     * @param namespace the namespace of the job definition.
     * @param jobName the job name of the job definition.
     * @param jobDefinitionUpdateRequest the information needed to update the job definition.
     * @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.
     */
    jobDefinitionUpdateJobDefinition(namespace: string, jobName: string, jobDefinitionUpdateRequest: JobDefinitionUpdateRequest, observe?: 'body', reportProgress?: boolean): Observable<JobDefinition>;
    jobDefinitionUpdateJobDefinition(namespace: string, jobName: string, jobDefinitionUpdateRequest: JobDefinitionUpdateRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<JobDefinition>>;
    jobDefinitionUpdateJobDefinition(namespace: string, jobName: string, jobDefinitionUpdateRequest: JobDefinitionUpdateRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<JobDefinition>>;
}
