import { HttpClient, HttpHeaders, HttpResponse, HttpEvent, HttpParameterCodec, HttpContext } from '@angular/common/http';
import { Observable } from 'rxjs';
import { DelayIdResubmissionResponse } from '../model/delayIdResubmissionResponse';
import { UpdateUserNotificationPreferencesRequest } from '../model/updateUserNotificationPreferencesRequest';
import { UploadUserAvatarRequest } from '../model/uploadUserAvatarRequest';
import { UserAndVerificationTicket } from '../model/userAndVerificationTicket';
import { UserAnnualInfoCheckRequest } from '../model/userAnnualInfoCheckRequest';
import { UserCloseAccountRequest } from '../model/userCloseAccountRequest';
import { UserDeviceTokenUpdateRequest } from '../model/userDeviceTokenUpdateRequest';
import { UserEmailChangeRequest } from '../model/userEmailChangeRequest';
import { UserEmailSendCodeRequest } from '../model/userEmailSendCodeRequest';
import { UserPendingDealsInfo } from '../model/userPendingDealsInfo';
import { UserPhoneChangeRequest } from '../model/userPhoneChangeRequest';
import { UserPhoneSendCodeRequest } from '../model/userPhoneSendCodeRequest';
import { UserUpdateOccupationRequest } from '../model/userUpdateOccupationRequest';
import { UserUpdateUserAddressRequest } from '../model/userUpdateUserAddressRequest';
import { UserUpdateUserInfoRequest } from '../model/userUpdateUserInfoRequest';
import { UserVerificationTicket } from '../model/userVerificationTicket';
import { UserVerifyRequest } from '../model/userVerifyRequest';
import { UserVerifyUserPhoneResponse } from '../model/userVerifyUserPhoneResponse';
import { WithdrawalsCheckMinAmountFirstWithdrawal200Response } from '../model/withdrawalsCheckMinAmountFirstWithdrawal200Response';
import { Configuration } from '../configuration';
import * as i0 from "@angular/core";
export declare class UserService {
    protected httpClient: HttpClient;
    protected basePath: string;
    defaultHeaders: HttpHeaders;
    configuration: Configuration;
    encoder: HttpParameterCodec;
    constructor(httpClient: HttpClient, basePath: string, configuration: Configuration);
    private addToHttpParams;
    private addToHttpParamsRecursive;
    /**
     * @param userDeviceTokenUpdateRequest
     * @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.
     */
    updateUserDeviceToken(userDeviceTokenUpdateRequest?: UserDeviceTokenUpdateRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    updateUserDeviceToken(userDeviceTokenUpdateRequest?: UserDeviceTokenUpdateRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    updateUserDeviceToken(userDeviceTokenUpdateRequest?: UserDeviceTokenUpdateRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @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.
     */
    userAcknowledgeVerificationTicket(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userAcknowledgeVerificationTicket(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userAcknowledgeVerificationTicket(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param userAnnualInfoCheckRequest
     * @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.
     */
    userAnnualInfoCheck(userAnnualInfoCheckRequest: UserAnnualInfoCheckRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<string>;
    userAnnualInfoCheck(userAnnualInfoCheckRequest: UserAnnualInfoCheckRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpResponse<string>>;
    userAnnualInfoCheck(userAnnualInfoCheckRequest: UserAnnualInfoCheckRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpEvent<string>>;
    /**
     * @param userCloseAccountRequest
     * @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.
     */
    userCloseAccount(userCloseAccountRequest: UserCloseAccountRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userCloseAccount(userCloseAccountRequest: UserCloseAccountRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userCloseAccount(userCloseAccountRequest: UserCloseAccountRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @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.
     */
    userDelayIdResubmission(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<DelayIdResubmissionResponse>;
    userDelayIdResubmission(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<DelayIdResubmissionResponse>>;
    userDelayIdResubmission(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<DelayIdResubmissionResponse>>;
    /**
     * @param userEmailChangeRequest
     * @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.
     */
    userEmailChange(userEmailChangeRequest: UserEmailChangeRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userEmailChange(userEmailChangeRequest: UserEmailChangeRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userEmailChange(userEmailChangeRequest: UserEmailChangeRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param userEmailSendCodeRequest
     * @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.
     */
    userEmailChangeSendCode(userEmailSendCodeRequest: UserEmailSendCodeRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userEmailChangeSendCode(userEmailSendCodeRequest: UserEmailSendCodeRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userEmailChangeSendCode(userEmailSendCodeRequest: UserEmailSendCodeRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @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.
     */
    userGetIdResubmissionToken(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<string>;
    userGetIdResubmissionToken(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpResponse<string>>;
    userGetIdResubmissionToken(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpEvent<string>>;
    /**
     * @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.
     */
    userGetPendingDeals(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<UserPendingDealsInfo>;
    userGetPendingDeals(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<UserPendingDealsInfo>>;
    userGetPendingDeals(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<UserPendingDealsInfo>>;
    /**
     * @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.
     */
    userGetUserAndVerificationTicket(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<UserAndVerificationTicket>;
    userGetUserAndVerificationTicket(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<UserAndVerificationTicket>>;
    userGetUserAndVerificationTicket(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<UserAndVerificationTicket>>;
    /**
     * @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.
     */
    userGetVerificationLink(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<string>;
    userGetVerificationLink(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpResponse<string>>;
    userGetVerificationLink(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpEvent<string>>;
    /**
     * @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.
     */
    userGetVerificationTicket(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<UserVerificationTicket>;
    userGetVerificationTicket(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<UserVerificationTicket>>;
    userGetVerificationTicket(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<UserVerificationTicket>>;
    /**
     * @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.
     */
    userGetWithdrawalAfterLoginDelay(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<number>;
    userGetWithdrawalAfterLoginDelay(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpResponse<number>>;
    userGetWithdrawalAfterLoginDelay(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpEvent<number>>;
    /**
     * @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.
     */
    userIsAllowedToRequestDataDeletion(observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<WithdrawalsCheckMinAmountFirstWithdrawal200Response>;
    userIsAllowedToRequestDataDeletion(observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<WithdrawalsCheckMinAmountFirstWithdrawal200Response>>;
    userIsAllowedToRequestDataDeletion(observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<WithdrawalsCheckMinAmountFirstWithdrawal200Response>>;
    /**
     * @param userPhoneChangeRequest
     * @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.
     */
    userPhoneChange(userPhoneChangeRequest: UserPhoneChangeRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userPhoneChange(userPhoneChangeRequest: UserPhoneChangeRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userPhoneChange(userPhoneChangeRequest: UserPhoneChangeRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param userPhoneSendCodeRequest
     * @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.
     */
    userPhoneSendCode(userPhoneSendCodeRequest: UserPhoneSendCodeRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<UserVerifyUserPhoneResponse>;
    userPhoneSendCode(userPhoneSendCodeRequest: UserPhoneSendCodeRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<UserVerifyUserPhoneResponse>>;
    userPhoneSendCode(userPhoneSendCodeRequest: UserPhoneSendCodeRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<UserVerifyUserPhoneResponse>>;
    /**
     * @param userUpdateUserAddressRequest
     * @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.
     */
    userUpdateAddress(userUpdateUserAddressRequest: UserUpdateUserAddressRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userUpdateAddress(userUpdateUserAddressRequest: UserUpdateUserAddressRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userUpdateAddress(userUpdateUserAddressRequest: UserUpdateUserAddressRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param uploadUserAvatarRequest
     * @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.
     */
    userUpdateAvatar(uploadUserAvatarRequest: UploadUserAvatarRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<string>;
    userUpdateAvatar(uploadUserAvatarRequest: UploadUserAvatarRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpResponse<string>>;
    userUpdateAvatar(uploadUserAvatarRequest: UploadUserAvatarRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'text/plain';
        context?: HttpContext;
    }): Observable<HttpEvent<string>>;
    /**
     * @param updateUserNotificationPreferencesRequest
     * @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.
     */
    userUpdateNotificationPreferences(updateUserNotificationPreferencesRequest: UpdateUserNotificationPreferencesRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userUpdateNotificationPreferences(updateUserNotificationPreferencesRequest: UpdateUserNotificationPreferencesRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userUpdateNotificationPreferences(updateUserNotificationPreferencesRequest: UpdateUserNotificationPreferencesRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param userUpdateOccupationRequest
     * @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.
     */
    userUpdateOccupation(userUpdateOccupationRequest: UserUpdateOccupationRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userUpdateOccupation(userUpdateOccupationRequest: UserUpdateOccupationRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userUpdateOccupation(userUpdateOccupationRequest: UserUpdateOccupationRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param userUpdateUserInfoRequest
     * @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.
     */
    userUpdateUserInfo(userUpdateUserInfoRequest: UserUpdateUserInfoRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<any>;
    userUpdateUserInfo(userUpdateUserInfoRequest: UserUpdateUserInfoRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpResponse<any>>;
    userUpdateUserInfo(userUpdateUserInfoRequest: UserUpdateUserInfoRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: undefined;
        context?: HttpContext;
    }): Observable<HttpEvent<any>>;
    /**
     * @param userVerifyRequest
     * @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.
     */
    userVerify(userVerifyRequest: UserVerifyRequest, observe?: 'body', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<UserVerificationTicket>;
    userVerify(userVerifyRequest: UserVerifyRequest, observe?: 'response', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpResponse<UserVerificationTicket>>;
    userVerify(userVerifyRequest: UserVerifyRequest, observe?: 'events', reportProgress?: boolean, options?: {
        httpHeaderAccept?: 'application/json';
        context?: HttpContext;
    }): Observable<HttpEvent<UserVerificationTicket>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<UserService, [null, { optional: true; }, { optional: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
}
