import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CommonResult } from '../model/commonResult';
import { ReleaseNote } from '../model/releaseNote';
import { VersionInfo } from '../model/versionInfo';
import { Configuration } from '../configuration';
import { VersionReleaseNotesServiceInterface } from './versionReleaseNotes.serviceInterface';
import * as i0 from "@angular/core";
export declare class VersionReleaseNotesService implements VersionReleaseNotesServiceInterface {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string | string[], configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * @param ReleaseNoteID
     * @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.
     */
    releaseNoteDelete(ReleaseNoteID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    releaseNoteDelete(ReleaseNoteID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    releaseNoteDelete(ReleaseNoteID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param AddedByUserID
     * @param ReleaseNotePublic
     * @param ReleaseNotePrivate
     * @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.
     */
    releaseNoteInsert(AddedByUserID?: number, ReleaseNotePublic?: string, ReleaseNotePrivate?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    releaseNoteInsert(AddedByUserID?: number, ReleaseNotePublic?: string, ReleaseNotePrivate?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    releaseNoteInsert(AddedByUserID?: number, ReleaseNotePublic?: string, ReleaseNotePrivate?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param ReleaseNote
     * @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.
     */
    releaseNoteInsertContext(ReleaseNote?: ReleaseNote, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    releaseNoteInsertContext(ReleaseNote?: ReleaseNote, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    releaseNoteInsertContext(ReleaseNote?: ReleaseNote, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param ReleaseNoteID
     * @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.
     */
    releaseNoteItem(ReleaseNoteID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<ReleaseNote>;
    releaseNoteItem(ReleaseNoteID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<ReleaseNote>>;
    releaseNoteItem(ReleaseNoteID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<ReleaseNote>>;
    /**
     * @param ReleaseNoteID
     * @param AddedByUserID
     * @param ReleaseNotePublic
     * @param ReleaseNotePrivate
     * @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.
     */
    releaseNoteUpdate(ReleaseNoteID?: number, AddedByUserID?: number, ReleaseNotePublic?: string, ReleaseNotePrivate?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    releaseNoteUpdate(ReleaseNoteID?: number, AddedByUserID?: number, ReleaseNotePublic?: string, ReleaseNotePrivate?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    releaseNoteUpdate(ReleaseNoteID?: number, AddedByUserID?: number, ReleaseNotePublic?: string, ReleaseNotePrivate?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param Context
     * @param ContextKey
     * @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.
     */
    releaseNotesForContext(Context?: string, ContextKey?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ReleaseNote>>;
    releaseNotesForContext(Context?: string, ContextKey?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ReleaseNote>>>;
    releaseNotesForContext(Context?: string, ContextKey?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ReleaseNote>>>;
    /**
     * @param RangeStartUTC
     * @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.
     */
    releaseNotesForRange(RangeStartUTC?: Date, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ReleaseNote>>;
    releaseNotesForRange(RangeStartUTC?: Date, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ReleaseNote>>>;
    releaseNotesForRange(RangeStartUTC?: Date, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ReleaseNote>>>;
    /**
     * @param RevisionID
     * @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.
     */
    releaseNotesForRevision(RevisionID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ReleaseNote>>;
    releaseNotesForRevision(RevisionID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ReleaseNote>>>;
    releaseNotesForRevision(RevisionID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ReleaseNote>>>;
    /**
     * @param VersionMajor
     * @param VersionMinor
     * @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.
     */
    releaseNotesForVersion(VersionMajor?: number, VersionMinor?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<ReleaseNote>>;
    releaseNotesForVersion(VersionMajor?: number, VersionMinor?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<ReleaseNote>>>;
    releaseNotesForVersion(VersionMajor?: number, VersionMinor?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<ReleaseNote>>>;
    /**
     * @param RevisionID
     * @param VersionReleaseNotes
     * @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.
     */
    updateVersionReleaseNote(RevisionID?: number, VersionReleaseNotes?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    updateVersionReleaseNote(RevisionID?: number, VersionReleaseNotes?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    updateVersionReleaseNote(RevisionID?: number, VersionReleaseNotes?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param VersionReleaseNotes
     * @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.
     */
    updateVersionReleaseNoteTop(VersionReleaseNotes?: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    updateVersionReleaseNoteTop(VersionReleaseNotes?: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    updateVersionReleaseNoteTop(VersionReleaseNotes?: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @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.
     */
    versionInfoForConsumptionCurrentRelease(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<VersionInfo>>;
    versionInfoForConsumptionCurrentRelease(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<VersionInfo>>>;
    versionInfoForConsumptionCurrentRelease(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<VersionInfo>>>;
    /**
     * @param RangeStartUTC
     * @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.
     */
    versionInfoForConsumptionForwardOfDate(RangeStartUTC?: Date, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<VersionInfo>>;
    versionInfoForConsumptionForwardOfDate(RangeStartUTC?: Date, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<VersionInfo>>>;
    versionInfoForConsumptionForwardOfDate(RangeStartUTC?: Date, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<VersionInfo>>>;
    /**
     * @param MonthsBack
     * @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.
     */
    versionInfoForConsumptionForwardOfRange(MonthsBack?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<VersionInfo>>;
    versionInfoForConsumptionForwardOfRange(MonthsBack?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<VersionInfo>>>;
    versionInfoForConsumptionForwardOfRange(MonthsBack?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<VersionInfo>>>;
    /**
     * @param RangeStartUTC
     * @param RangeEndUTC
     * @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.
     */
    versionInfoForConsumptionWithinDateRange(RangeStartUTC?: Date, RangeEndUTC?: Date, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<VersionInfo>>;
    versionInfoForConsumptionWithinDateRange(RangeStartUTC?: Date, RangeEndUTC?: Date, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<VersionInfo>>>;
    versionInfoForConsumptionWithinDateRange(RangeStartUTC?: Date, RangeEndUTC?: Date, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<VersionInfo>>>;
    /**
     * @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.
     */
    versionInfoGetCurrent(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<VersionInfo>;
    versionInfoGetCurrent(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<VersionInfo>>;
    versionInfoGetCurrent(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<VersionInfo>>;
    /**
     * @param RevisionID
     * @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.
     */
    versionInfoGetItem(RevisionID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<VersionInfo>;
    versionInfoGetItem(RevisionID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<VersionInfo>>;
    versionInfoGetItem(RevisionID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<VersionInfo>>;
    /**
     * @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.
     */
    versionInfoList(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<VersionInfo>>;
    versionInfoList(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<VersionInfo>>>;
    versionInfoList(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<VersionInfo>>>;
    /**
     * @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.
     */
    versionInfoTickMajor(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<VersionInfo>;
    versionInfoTickMajor(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<VersionInfo>>;
    versionInfoTickMajor(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<VersionInfo>>;
    /**
     * @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.
     */
    versionInfoTickMinor(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<VersionInfo>;
    versionInfoTickMinor(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<VersionInfo>>;
    versionInfoTickMinor(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<VersionInfo>>;
    /**
     * @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.
     */
    versionInfoTickRevision(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<VersionInfo>;
    versionInfoTickRevision(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<VersionInfo>>;
    versionInfoTickRevision(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<VersionInfo>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<VersionReleaseNotesService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<VersionReleaseNotesService>;
}
