import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { CommonConcern } from '../model/commonConcern';
import { CommonResult } from '../model/commonResult';
import { FeedbackConcernDetail } from '../model/feedbackConcernDetail';
import { FeedbackConcernEntry } from '../model/feedbackConcernEntry';
import { FeedbackContactStatus } from '../model/feedbackContactStatus';
import { FeedbackContextEntry } from '../model/feedbackContextEntry';
import { FeedbackEntry } from '../model/feedbackEntry';
import { FeedbackReviewStatus } from '../model/feedbackReviewStatus';
import { MailingListEntry } from '../model/mailingListEntry';
import { Configuration } from '../configuration';
import { ContactMeServiceInterface } from './contactMe.serviceInterface';
import * as i0 from "@angular/core";
export declare class ContactMeService implements ContactMeServiceInterface {
    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 FeedbackID
     * @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.
     */
    commonConcernsSelectEntry(FeedbackID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<FeedbackConcernDetail>>;
    commonConcernsSelectEntry(FeedbackID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<FeedbackConcernDetail>>>;
    commonConcernsSelectEntry(FeedbackID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<FeedbackConcernDetail>>>;
    /**
     * @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.
     */
    commonConcernsSelectList(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<CommonConcern>>;
    commonConcernsSelectList(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<CommonConcern>>>;
    commonConcernsSelectList(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<CommonConcern>>>;
    /**
     * @param CommonConcernTypeID
     * @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.
     */
    commonConcernsSelectListByType(CommonConcernTypeID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<CommonConcern>>;
    commonConcernsSelectListByType(CommonConcernTypeID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<CommonConcern>>>;
    commonConcernsSelectListByType(CommonConcernTypeID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<CommonConcern>>>;
    /**
     * @param FeedbackConcernEntry
     * @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.
     */
    feedbackCommonConcernsInsert(FeedbackConcernEntry?: Array<FeedbackConcernEntry>, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    feedbackCommonConcernsInsert(FeedbackConcernEntry?: Array<FeedbackConcernEntry>, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    feedbackCommonConcernsInsert(FeedbackConcernEntry?: Array<FeedbackConcernEntry>, 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.
     */
    feedbackContactStatusSelectAll(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<FeedbackContactStatus>>;
    feedbackContactStatusSelectAll(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<FeedbackContactStatus>>>;
    feedbackContactStatusSelectAll(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<FeedbackContactStatus>>>;
    /**
     * @param FeedbackID
     * @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.
     */
    feedbackDashboard(FeedbackID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<FeedbackContextEntry>>;
    feedbackDashboard(FeedbackID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<FeedbackContextEntry>>>;
    feedbackDashboard(FeedbackID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<FeedbackContextEntry>>>;
    /**
     * @param FeedbackID
     * @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.
     */
    feedbackDelete(FeedbackID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    feedbackDelete(FeedbackID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    feedbackDelete(FeedbackID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param FeedbackEntry
     * @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.
     */
    feedbackInsertBasicAsync(FeedbackEntry?: FeedbackEntry, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    feedbackInsertBasicAsync(FeedbackEntry?: FeedbackEntry, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    feedbackInsertBasicAsync(FeedbackEntry?: FeedbackEntry, 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.
     */
    feedbackReviewStatusSelectAll(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<FeedbackReviewStatus>>;
    feedbackReviewStatusSelectAll(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<FeedbackReviewStatus>>>;
    feedbackReviewStatusSelectAll(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<FeedbackReviewStatus>>>;
    /**
     * @param FeedbackContext
     * @param FeedbackContextKey
     * @param OpenOnly
     * @param ContactRequestedOnly
     * @param UncontactedOnly
     * @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.
     */
    feedbackSelectContext(FeedbackContext?: string, FeedbackContextKey?: number, OpenOnly?: boolean, ContactRequestedOnly?: boolean, UncontactedOnly?: boolean, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<FeedbackEntry>>;
    feedbackSelectContext(FeedbackContext?: string, FeedbackContextKey?: number, OpenOnly?: boolean, ContactRequestedOnly?: boolean, UncontactedOnly?: boolean, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<FeedbackEntry>>>;
    feedbackSelectContext(FeedbackContext?: string, FeedbackContextKey?: number, OpenOnly?: boolean, ContactRequestedOnly?: boolean, UncontactedOnly?: boolean, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<FeedbackEntry>>>;
    /**
     * @param FeedbackID
     * @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.
     */
    feedbackSelectItem(FeedbackID?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<FeedbackEntry>;
    feedbackSelectItem(FeedbackID?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<FeedbackEntry>>;
    feedbackSelectItem(FeedbackID?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<FeedbackEntry>>;
    /**
     * @param FeedbackEntry
     * @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.
     */
    feedbackUpdateContactResolution(FeedbackEntry?: FeedbackEntry, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    feedbackUpdateContactResolution(FeedbackEntry?: FeedbackEntry, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    feedbackUpdateContactResolution(FeedbackEntry?: FeedbackEntry, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param FeedbackEntry
     * @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.
     */
    feedbackUpdateReviewStatus(FeedbackEntry?: FeedbackEntry, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    feedbackUpdateReviewStatus(FeedbackEntry?: FeedbackEntry, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    feedbackUpdateReviewStatus(FeedbackEntry?: FeedbackEntry, 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.
     */
    getContactMeTargetAccountNames(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<string>>;
    getContactMeTargetAccountNames(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<string>>>;
    getContactMeTargetAccountNames(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<string>>>;
    /**
     * @param MailingListEntry
     * @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.
     */
    mailingListInsertBasicAsync(MailingListEntry?: MailingListEntry, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    mailingListInsertBasicAsync(MailingListEntry?: MailingListEntry, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    mailingListInsertBasicAsync(MailingListEntry?: MailingListEntry, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param MailingListEntry
     * @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.
     */
    mailingListRemoveAsync(MailingListEntry?: MailingListEntry, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<CommonResult>;
    mailingListRemoveAsync(MailingListEntry?: MailingListEntry, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<CommonResult>>;
    mailingListRemoveAsync(MailingListEntry?: MailingListEntry, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<CommonResult>>;
    /**
     * @param MailingListContext
     * @param MailingListContextKey
     * @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.
     */
    mailingListSelectContext(MailingListContext?: string, MailingListContextKey?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Array<MailingListEntry>>;
    mailingListSelectContext(MailingListContext?: string, MailingListContextKey?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Array<MailingListEntry>>>;
    mailingListSelectContext(MailingListContext?: string, MailingListContextKey?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Array<MailingListEntry>>>;
    /**
     * @param TargetIndex
     * @param Subject
     * @param Body
     * @param IsHtml
     * @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.
     */
    sendContactMeEmailAsync(TargetIndex?: number, Subject?: string, Body?: string, IsHtml?: boolean, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    sendContactMeEmailAsync(TargetIndex?: number, Subject?: string, Body?: string, IsHtml?: boolean, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    sendContactMeEmailAsync(TargetIndex?: number, Subject?: string, Body?: string, IsHtml?: boolean, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param TargetIndex
     * @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.
     */
    sendContactMeTestEmail(TargetIndex?: number, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    sendContactMeTestEmail(TargetIndex?: number, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    sendContactMeTestEmail(TargetIndex?: number, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<ContactMeService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ContactMeService>;
}
