import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { Business } from '../model/business';
import { BusinessAddress } from '../model/businessAddress';
import { CreateBusinessCompanyShareholderRequest } from '../model/createBusinessCompanyShareholderRequest';
import { CreateBusinessIndividualRequest } from '../model/createBusinessIndividualRequest';
import { SubmitBusinessRequest } from '../model/submitBusinessRequest';
import { UpdateBusinessCompanyShareholderRequest } from '../model/updateBusinessCompanyShareholderRequest';
import { UpdateBusinessIndividualRequest } from '../model/updateBusinessIndividualRequest';
import { UpdateBusinessInfoRequest } from '../model/updateBusinessInfoRequest';
import { UpdateBusinessPhoneRequest } from '../model/updateBusinessPhoneRequest';
import { UploadBusinessInternalDocumentRequest } from '../model/uploadBusinessInternalDocumentRequest';
import { UploadBusinessKybDocumentRequest } from '../model/uploadBusinessKybDocumentRequest';
import { VerifyBusinessPhoneRequest } from '../model/verifyBusinessPhoneRequest';
import { VerifyBusinessPhoneResponse } from '../model/verifyBusinessPhoneResponse';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class BusinessesService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * @param createBusinessCompanyShareholderRequest
     * @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.
     */
    businessesCreateCompanyShareholder(createBusinessCompanyShareholderRequest: CreateBusinessCompanyShareholderRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesCreateCompanyShareholder(createBusinessCompanyShareholderRequest: CreateBusinessCompanyShareholderRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesCreateCompanyShareholder(createBusinessCompanyShareholderRequest: CreateBusinessCompanyShareholderRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param createBusinessIndividualRequest
     * @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.
     */
    businessesCreateIndividual(createBusinessIndividualRequest: CreateBusinessIndividualRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesCreateIndividual(createBusinessIndividualRequest: CreateBusinessIndividualRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesCreateIndividual(createBusinessIndividualRequest: CreateBusinessIndividualRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param documentId
     * @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.
     */
    businessesDeleteBusinessInternalDocument(documentId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesDeleteBusinessInternalDocument(documentId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesDeleteBusinessInternalDocument(documentId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param documentId
     * @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.
     */
    businessesDeleteBusinessKybDocument(documentId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesDeleteBusinessKybDocument(documentId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesDeleteBusinessKybDocument(documentId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param companyShareholderId
     * @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.
     */
    businessesDeleteCompanyShareholder(companyShareholderId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesDeleteCompanyShareholder(companyShareholderId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesDeleteCompanyShareholder(companyShareholderId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param individualId
     * @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.
     */
    businessesDeleteIndividual(individualId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesDeleteIndividual(individualId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesDeleteIndividual(individualId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param documentId
     * @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.
     */
    businessesDownloadBusinessInternalDocument(documentId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<Blob>;
    businessesDownloadBusinessInternalDocument(documentId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpResponse<Blob>>;
    businessesDownloadBusinessInternalDocument(documentId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpEvent<Blob>>;
    /**
     * @param documentId
     * @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.
     */
    businessesDownloadBusinessKybDocument(documentId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<Blob>;
    businessesDownloadBusinessKybDocument(documentId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpResponse<Blob>>;
    businessesDownloadBusinessKybDocument(documentId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/octet-stream';
        context?: HttpContext;
    }): Observable<HttpEvent<Blob>>;
    /**
     * @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.
     */
    businessesGetBusiness(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesGetBusiness(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesGetBusiness(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param companyShareholderId
     * @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.
     */
    businessesResendCompanyShareholderConfirmationEmail(companyShareholderId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    businessesResendCompanyShareholderConfirmationEmail(companyShareholderId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    businessesResendCompanyShareholderConfirmationEmail(companyShareholderId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param individualId
     * @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.
     */
    businessesResendIndividualConfirmationEmail(individualId: string, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    businessesResendIndividualConfirmationEmail(individualId: string, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    businessesResendIndividualConfirmationEmail(individualId: string, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param submitBusinessRequest
     * @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.
     */
    businessesSubmitBusiness(submitBusinessRequest: SubmitBusinessRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesSubmitBusiness(submitBusinessRequest: SubmitBusinessRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesSubmitBusiness(submitBusinessRequest: SubmitBusinessRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param businessAddress
     * @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.
     */
    businessesUpdateBusinessAddress(businessAddress: BusinessAddress, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesUpdateBusinessAddress(businessAddress: BusinessAddress, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesUpdateBusinessAddress(businessAddress: BusinessAddress, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param updateBusinessInfoRequest
     * @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.
     */
    businessesUpdateBusinessInfo(updateBusinessInfoRequest: UpdateBusinessInfoRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesUpdateBusinessInfo(updateBusinessInfoRequest: UpdateBusinessInfoRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesUpdateBusinessInfo(updateBusinessInfoRequest: UpdateBusinessInfoRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param updateBusinessPhoneRequest
     * @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.
     */
    businessesUpdateBusinessPhone(updateBusinessPhoneRequest: UpdateBusinessPhoneRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesUpdateBusinessPhone(updateBusinessPhoneRequest: UpdateBusinessPhoneRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesUpdateBusinessPhone(updateBusinessPhoneRequest: UpdateBusinessPhoneRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param companyShareholderId
     * @param updateBusinessCompanyShareholderRequest
     * @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.
     */
    businessesUpdateCompanyShareholder(companyShareholderId: string, updateBusinessCompanyShareholderRequest: UpdateBusinessCompanyShareholderRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesUpdateCompanyShareholder(companyShareholderId: string, updateBusinessCompanyShareholderRequest: UpdateBusinessCompanyShareholderRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesUpdateCompanyShareholder(companyShareholderId: string, updateBusinessCompanyShareholderRequest: UpdateBusinessCompanyShareholderRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param individualId
     * @param updateBusinessIndividualRequest
     * @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.
     */
    businessesUpdateIndividual(individualId: string, updateBusinessIndividualRequest: UpdateBusinessIndividualRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesUpdateIndividual(individualId: string, updateBusinessIndividualRequest: UpdateBusinessIndividualRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesUpdateIndividual(individualId: string, updateBusinessIndividualRequest: UpdateBusinessIndividualRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param uploadBusinessInternalDocumentRequest
     * @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.
     */
    businessesUploadBusinessInternalDocument(uploadBusinessInternalDocumentRequest: UploadBusinessInternalDocumentRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesUploadBusinessInternalDocument(uploadBusinessInternalDocumentRequest: UploadBusinessInternalDocumentRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesUploadBusinessInternalDocument(uploadBusinessInternalDocumentRequest: UploadBusinessInternalDocumentRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param uploadBusinessKybDocumentRequest
     * @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.
     */
    businessesUploadBusinessKybDocument(uploadBusinessKybDocumentRequest: UploadBusinessKybDocumentRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<Business>;
    businessesUploadBusinessKybDocument(uploadBusinessKybDocumentRequest: UploadBusinessKybDocumentRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<Business>>;
    businessesUploadBusinessKybDocument(uploadBusinessKybDocumentRequest: UploadBusinessKybDocumentRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<Business>>;
    /**
     * @param verifyBusinessPhoneRequest
     * @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.
     */
    businessesVerifyPhone(verifyBusinessPhoneRequest: VerifyBusinessPhoneRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<VerifyBusinessPhoneResponse>;
    businessesVerifyPhone(verifyBusinessPhoneRequest: VerifyBusinessPhoneRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<VerifyBusinessPhoneResponse>>;
    businessesVerifyPhone(verifyBusinessPhoneRequest: VerifyBusinessPhoneRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<VerifyBusinessPhoneResponse>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<BusinessesService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<BusinessesService>;
}
