/**
 * herd
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * OpenAPI spec version: 0.220.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 { BusinessObjectDefinitionDescriptionSuggestion } from '../model/businessObjectDefinitionDescriptionSuggestion';
import { BusinessObjectDefinitionDescriptionSuggestionAcceptanceRequest } from '../model/businessObjectDefinitionDescriptionSuggestionAcceptanceRequest';
import { BusinessObjectDefinitionDescriptionSuggestionCreateRequest } from '../model/businessObjectDefinitionDescriptionSuggestionCreateRequest';
import { BusinessObjectDefinitionDescriptionSuggestionKeys } from '../model/businessObjectDefinitionDescriptionSuggestionKeys';
import { BusinessObjectDefinitionDescriptionSuggestionSearchRequest } from '../model/businessObjectDefinitionDescriptionSuggestionSearchRequest';
import { BusinessObjectDefinitionDescriptionSuggestionSearchResponse } from '../model/businessObjectDefinitionDescriptionSuggestionSearchResponse';
import { BusinessObjectDefinitionDescriptionSuggestionUpdateRequest } from '../model/businessObjectDefinitionDescriptionSuggestionUpdateRequest';
import { Configuration } from '../configuration';
export declare class BusinessObjectDefinitionDescriptionSuggestionService {
    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;
    /**
     * acceptBusinessObjectDefinitionDescriptionSuggestion
     * Accepts suggested business object definition description suggestion by key and updates the corresponding business object definition description.
     * @param businessObjectDefinitionDescriptionSuggestionAcceptanceRequest the information needed to accept the business object definition description suggestion.
     * @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.
     */
    businessObjectDefinitionDescriptionSuggestionAcceptBusinessObjectDefinitionDescriptionSuggestion(businessObjectDefinitionDescriptionSuggestionAcceptanceRequest: BusinessObjectDefinitionDescriptionSuggestionAcceptanceRequest, observe?: 'body', reportProgress?: boolean): Observable<BusinessObjectDefinitionDescriptionSuggestion>;
    businessObjectDefinitionDescriptionSuggestionAcceptBusinessObjectDefinitionDescriptionSuggestion(businessObjectDefinitionDescriptionSuggestionAcceptanceRequest: BusinessObjectDefinitionDescriptionSuggestionAcceptanceRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BusinessObjectDefinitionDescriptionSuggestion>>;
    businessObjectDefinitionDescriptionSuggestionAcceptBusinessObjectDefinitionDescriptionSuggestion(businessObjectDefinitionDescriptionSuggestionAcceptanceRequest: BusinessObjectDefinitionDescriptionSuggestionAcceptanceRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BusinessObjectDefinitionDescriptionSuggestion>>;
    /**
     * createBusinessObjectDefinitionDescriptionSuggestion
     * Creates a new business object definition description suggestion.
     * @param businessObjectDefinitionDescriptionSuggestionCreateRequest the information needed to create the business object definition description suggestion
     * @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.
     */
    businessObjectDefinitionDescriptionSuggestionCreateBusinessObjectDefinitionDescriptionSuggestion(businessObjectDefinitionDescriptionSuggestionCreateRequest: BusinessObjectDefinitionDescriptionSuggestionCreateRequest, observe?: 'body', reportProgress?: boolean): Observable<BusinessObjectDefinitionDescriptionSuggestion>;
    businessObjectDefinitionDescriptionSuggestionCreateBusinessObjectDefinitionDescriptionSuggestion(businessObjectDefinitionDescriptionSuggestionCreateRequest: BusinessObjectDefinitionDescriptionSuggestionCreateRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BusinessObjectDefinitionDescriptionSuggestion>>;
    businessObjectDefinitionDescriptionSuggestionCreateBusinessObjectDefinitionDescriptionSuggestion(businessObjectDefinitionDescriptionSuggestionCreateRequest: BusinessObjectDefinitionDescriptionSuggestionCreateRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BusinessObjectDefinitionDescriptionSuggestion>>;
    /**
     * deleteBusinessObjectDefinitionDescriptionSuggestion
     * Deletes an existing business object definition description suggestion by key.
     * @param namespace the namespace
     * @param businessObjectDefinitionName the business object definition name
     * @param userId the user id
     * @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.
     */
    businessObjectDefinitionDescriptionSuggestionDeleteBusinessObjectDefinitionDescriptionSuggestion(namespace: string, businessObjectDefinitionName: string, userId: string, observe?: 'body', reportProgress?: boolean): Observable<BusinessObjectDefinitionDescriptionSuggestion>;
    businessObjectDefinitionDescriptionSuggestionDeleteBusinessObjectDefinitionDescriptionSuggestion(namespace: string, businessObjectDefinitionName: string, userId: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BusinessObjectDefinitionDescriptionSuggestion>>;
    businessObjectDefinitionDescriptionSuggestionDeleteBusinessObjectDefinitionDescriptionSuggestion(namespace: string, businessObjectDefinitionName: string, userId: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BusinessObjectDefinitionDescriptionSuggestion>>;
    /**
     * getBusinessObjectDefinitionDescriptionSuggestionByKey
     * Retrieves an existing business object definition description suggestion by key.
     * @param namespace the namespace
     * @param businessObjectDefinitionName the business object definition name
     * @param userId the user id
     * @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.
     */
    businessObjectDefinitionDescriptionSuggestionGetBusinessObjectDefinitionDescriptionSuggestionByKey(namespace: string, businessObjectDefinitionName: string, userId: string, observe?: 'body', reportProgress?: boolean): Observable<BusinessObjectDefinitionDescriptionSuggestion>;
    businessObjectDefinitionDescriptionSuggestionGetBusinessObjectDefinitionDescriptionSuggestionByKey(namespace: string, businessObjectDefinitionName: string, userId: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BusinessObjectDefinitionDescriptionSuggestion>>;
    businessObjectDefinitionDescriptionSuggestionGetBusinessObjectDefinitionDescriptionSuggestionByKey(namespace: string, businessObjectDefinitionName: string, userId: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BusinessObjectDefinitionDescriptionSuggestion>>;
    /**
     * getBusinessObjectDefinitionDescriptionSuggestions
     * Retrieves a list of business object definition description suggestion keys for all suggestions registered for a specific business object definition. The result list is sorted by userId in ascending order.
     * @param namespace the namespace
     * @param businessObjectDefinitionName the business object definition name
     * @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.
     */
    businessObjectDefinitionDescriptionSuggestionGetBusinessObjectDefinitionDescriptionSuggestions(namespace: string, businessObjectDefinitionName: string, observe?: 'body', reportProgress?: boolean): Observable<BusinessObjectDefinitionDescriptionSuggestionKeys>;
    businessObjectDefinitionDescriptionSuggestionGetBusinessObjectDefinitionDescriptionSuggestions(namespace: string, businessObjectDefinitionName: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BusinessObjectDefinitionDescriptionSuggestionKeys>>;
    businessObjectDefinitionDescriptionSuggestionGetBusinessObjectDefinitionDescriptionSuggestions(namespace: string, businessObjectDefinitionName: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BusinessObjectDefinitionDescriptionSuggestionKeys>>;
    /**
     * searchBusinessObjectDefinitionDescriptionSuggestions
     * Retrieve a list of business object definition description suggestions meeting the search criteria filters and fields request.
     * @param businessObjectDefinitionDescriptionSuggestionSearchRequest the search criteria needed to find a list of business object definition description suggestions
     * @param fields the field options for the business object definition description suggestions search response. The valid field options are: status, descriptionSuggestion, createdByUserId, createdOn
     * @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.
     */
    businessObjectDefinitionDescriptionSuggestionSearchBusinessObjectDefinitionDescriptionSuggestions(businessObjectDefinitionDescriptionSuggestionSearchRequest: BusinessObjectDefinitionDescriptionSuggestionSearchRequest, fields?: string, observe?: 'body', reportProgress?: boolean): Observable<BusinessObjectDefinitionDescriptionSuggestionSearchResponse>;
    businessObjectDefinitionDescriptionSuggestionSearchBusinessObjectDefinitionDescriptionSuggestions(businessObjectDefinitionDescriptionSuggestionSearchRequest: BusinessObjectDefinitionDescriptionSuggestionSearchRequest, fields?: string, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BusinessObjectDefinitionDescriptionSuggestionSearchResponse>>;
    businessObjectDefinitionDescriptionSuggestionSearchBusinessObjectDefinitionDescriptionSuggestions(businessObjectDefinitionDescriptionSuggestionSearchRequest: BusinessObjectDefinitionDescriptionSuggestionSearchRequest, fields?: string, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BusinessObjectDefinitionDescriptionSuggestionSearchResponse>>;
    /**
     * updateBusinessObjectDefinitionDescriptionSuggestion
     * Updates an existing business object definition description suggestion by key.
     * @param namespace the namespace
     * @param businessObjectDefinitionName the business object definition name
     * @param userId the user id
     * @param businessObjectDefinitionDescriptionSuggestionUpdateRequest the information needed to update the business object definition description suggestion
     * @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.
     */
    businessObjectDefinitionDescriptionSuggestionUpdateBusinessObjectDefinitionDescriptionSuggestion(namespace: string, businessObjectDefinitionName: string, userId: string, businessObjectDefinitionDescriptionSuggestionUpdateRequest: BusinessObjectDefinitionDescriptionSuggestionUpdateRequest, observe?: 'body', reportProgress?: boolean): Observable<BusinessObjectDefinitionDescriptionSuggestion>;
    businessObjectDefinitionDescriptionSuggestionUpdateBusinessObjectDefinitionDescriptionSuggestion(namespace: string, businessObjectDefinitionName: string, userId: string, businessObjectDefinitionDescriptionSuggestionUpdateRequest: BusinessObjectDefinitionDescriptionSuggestionUpdateRequest, observe?: 'response', reportProgress?: boolean): Observable<HttpResponse<BusinessObjectDefinitionDescriptionSuggestion>>;
    businessObjectDefinitionDescriptionSuggestionUpdateBusinessObjectDefinitionDescriptionSuggestion(namespace: string, businessObjectDefinitionName: string, userId: string, businessObjectDefinitionDescriptionSuggestionUpdateRequest: BusinessObjectDefinitionDescriptionSuggestionUpdateRequest, observe?: 'events', reportProgress?: boolean): Observable<HttpEvent<BusinessObjectDefinitionDescriptionSuggestion>>;
}
