import { PaginationDto, RequestDto, SignupDto, VerifyOTPDto, LoginDto, UpdatePhoneDto, VerifyPhoneOTPDto, ForgotPasswordDto, VerifyForgotPasswordOTPDto, ChangePasswordDto, ChangePasswordWithOldDto, CompleteProfileDto, VerifyUpdateOTPDto, SocialLoginDto, HealthStatusFilterDto, CompleteInviteSignupDto } from './dto/user.dto';
import { ModelsService } from 'src/models/models.service';
import { CommonService } from 'src/common/common.service';
import { TranslationService } from 'src/common/services/translation.service';
import { EmailService } from 'src/common/services/email.service';
import { SmsService } from 'src/common/services/sms.service';
import { CommissionService } from 'src/common/services/commission.service';
import { WalletService } from 'src/common/services/wallet.service';
import { Types } from 'mongoose';
export declare class UserService {
    private readonly models;
    private readonly common;
    private readonly emailService;
    private readonly smsService;
    private readonly translationService;
    private readonly commissionService;
    private readonly walletService;
    constructor(models: ModelsService, common: CommonService, emailService: EmailService, smsService: SmsService, translationService: TranslationService, commissionService: CommissionService, walletService: WalletService);
    verifyUniqueCode(code: string): any;
    private assertValidInvite;
    validateInviteToken(token: string | undefined): Promise<any>;
    private generateUniqueBusinessCode;
    private createTransportAdminAccount;
    private finalizeTransportAdminSignup;
    completeInviteSignup(dto: CompleteInviteSignupDto, req: any): Promise<any>;
    login(loginDto: LoginDto): Promise<any>;
    signup(signupDto: SignupDto, req?: any): Promise<any>;
    resendOTP(req: any): Promise<any>;
    verifyEmailLink(token: string): Promise<any>;
    verifyOTP(verifyOTPDto: VerifyOTPDto, req: any): Promise<any>;
    completeProfile(_id: string, completeProfileDto: CompleteProfileDto, req: any): Promise<any>;
    updateProfile(_id: string, updatePhoneDto: UpdatePhoneDto, req: any): Promise<any>;
    verifyPhoneOTP(verifyPhoneOTPDto: VerifyPhoneOTPDto, req: any): Promise<any>;
    resendPhoneOTP(req: any): Promise<any>;
    verifyUpdateOTP(verifyDto: VerifyUpdateOTPDto, req: any): Promise<any>;
    resendUpdateOTP(req: any): Promise<any>;
    forgotPassword(forgotPasswordDto: ForgotPasswordDto): Promise<any>;
    verifyForgotPasswordOTP(verifyDto: VerifyForgotPasswordOTPDto): Promise<any>;
    resetPassword(changePasswordDto: ChangePasswordDto, req: RequestDto): Promise<any>;
    changePassword(_id: string, changePasswordDto: ChangePasswordWithOldDto): Promise<any>;
    resendForgotPasswordOTP(forgotPasswordDto: ForgotPasswordDto): Promise<any>;
    connectionQuery(senderId: string, recieverId: string): {
        $or: {
            $and: ({
                sent_by: Types.ObjectId;
                sent_to?: undefined;
            } | {
                sent_to: Types.ObjectId;
                sent_by?: undefined;
            })[];
        }[];
    };
    allUser(dto: PaginationDto, _id: string): Promise<any>;
    getPendingUsers(dto: PaginationDto, req: any): Promise<any>;
    deletePendingUser(id: string, req: any): Promise<any>;
    logout(req: any): Promise<any>;
    profile(_id: string, req?: any): Promise<any>;
    socialLogin(socialLoginDto: SocialLoginDto, req: any): Promise<any>;
    private decodeFacebookToken;
    private decodeGoogleToken;
    private decodeAppleToken;
    private getNameFromEmail;
    private generateUniqueReferralCode;
    getReferralList(_id: string, dto: any): Promise<any>;
    getHealthStatus(dto: HealthStatusFilterDto): Promise<any>;
    deleteMyAccount(userId: string): Promise<any>;
    updateHealthStatusSalesDescription(businessId: string, salesDescription: string): Promise<any>;
    clearDemoData(business_id: string | Types.ObjectId): Promise<any>;
}
