import { HttpClient } from '@angular/common/http';
import { BaseApiTemplateService } from '../shared/base-api-template-service.model';
import { AppLoginContainerModel } from '../../../../../models/aggregates/id';
import { ApiResponseModel } from '../shared/api-response.model';
import { ApiVisa } from '../shared/api-visa.model';
import { AddEmailMobileNumberRequest, ChangeEmailMobileNumberRequest, IdVerificationForChangeEmailMobileNumberRequest, IdVerificationReqForChangeEmailMobileNumberRequest, ResetMobileNumber } from '../shared/login.model';
import { Observable } from 'rxjs';
import { BasicApiResponseModel } from '../shared/api-response.model';
import { AppLoginChangeEmailMobileNumberProcessContainerModel } from '../../../../../models/aggregates/app-login';
export declare class UserProfileService extends BaseApiTemplateService<AppLoginContainerModel> {
    constructor(http: HttpClient);
    updateImage(formData: FormData, imageGuid: any, visa: ApiVisa): Observable<Object>;
    uploadImage(formData: FormData, subjectGuid: any, visa: ApiVisa): Observable<Object>;
    getImage(formData: FormData, subjectGuid: any, visa: ApiVisa): Observable<Object>;
    resetMobileNumber(requestData: ResetMobileNumber, visa: ApiVisa): Promise<ApiResponseModel<any>>;
    getProfileName(visa: ApiVisa, guid: string): Observable<BasicApiResponseModel<string>>;
    getUserDetail(visa: ApiVisa): Observable<BasicApiResponseModel<any>>;
    requestExistingIdentityVerificationForChangeEmail(requestData: IdVerificationReqForChangeEmailMobileNumberRequest, visa: ApiVisa, tenantCode?: string, websiteCode?: string): Promise<BasicApiResponseModel<AppLoginChangeEmailMobileNumberProcessContainerModel>>;
    requestExistingIdentityVerificationForChangeMobileNumber(requestData: IdVerificationReqForChangeEmailMobileNumberRequest, visa: ApiVisa, tenantCode?: string, websiteCode?: string): Promise<BasicApiResponseModel<AppLoginChangeEmailMobileNumberProcessContainerModel>>;
    existingIdentityVerificationForChangeEmailMobileNumber(requestData: IdVerificationForChangeEmailMobileNumberRequest, visa: ApiVisa): Promise<BasicApiResponseModel<boolean>>;
    changeEmail(requestData: ChangeEmailMobileNumberRequest, visa: ApiVisa, tenantCode?: string, websiteCode?: string): Promise<BasicApiResponseModel<AppLoginChangeEmailMobileNumberProcessContainerModel>>;
    changeMobileNumber(requestData: ChangeEmailMobileNumberRequest, visa: ApiVisa, tenantCode?: string, websiteCode?: string): Promise<BasicApiResponseModel<AppLoginChangeEmailMobileNumberProcessContainerModel>>;
    newIdentityVerificationForChangeEmailMobileNumber(requestData: IdVerificationForChangeEmailMobileNumberRequest, visa: ApiVisa): Promise<BasicApiResponseModel<boolean>>;
    addEmail(requestData: AddEmailMobileNumberRequest, visa: ApiVisa, tenantCode?: string, websiteCode?: string): Promise<BasicApiResponseModel<AppLoginChangeEmailMobileNumberProcessContainerModel>>;
    addMobileNumber(requestData: AddEmailMobileNumberRequest, visa: ApiVisa, tenantCode?: string, websiteCode?: string): Promise<BasicApiResponseModel<AppLoginChangeEmailMobileNumberProcessContainerModel>>;
    appRedirectToChangeEmail(visa: ApiVisa, tenantCode: string, subjectGuid: string, websiteCode?: string, messageTemplate?: string): Observable<string>;
    appRedirectToChangeMobileNumber(visa: ApiVisa, tenantCode: string, subjectGuid: string, websiteCode?: string, messageTemplate?: string): Observable<string>;
    deleteMultiple(tenantCode: String, dtoObject: any, visa: ApiVisa): Observable<Object>;
}
