import { DbService } from 'src/db/db.service';
import { CreateCustomerDtoNew, editProfileReferCodeDto, SocialLoginDto, VerifyPhone } from 'src/customer/dto/create-customer.dto';
import { JwtService } from '@nestjs/jwt';
import { CommonService } from 'src/common/common.service';
import * as mongosse from 'mongoose';
import { BookingService } from 'src/booking/booking.service';
import { StripeService } from 'src/common/helpers/stripe.service';
import { Types } from 'mongoose';
export declare class AuthService {
    private readonly model;
    private readonly jwtService;
    private readonly commonService;
    private readonly bookingService;
    private readonly stripeService;
    private s3;
    private configuration;
    constructor(model: DbService, jwtService: JwtService, commonService: CommonService, bookingService: BookingService, stripeService: StripeService);
    becomeDriver(body: any, req: any): Promise<{
        token: string;
    }>;
    continue_with_phone(createCustomerDto: CreateCustomerDtoNew, req: any): Promise<{
        token: string;
    }>;
    verify_phone(verifyphoneDto: VerifyPhone, req: any): Promise<{
        access_token: string;
        data: any;
    }>;
    generateRefCode(name: string): Promise<string>;
    getInitials(input: string): string;
    checkToken(token: any): Promise<mongosse.Document<unknown, {}, import("../customer/schema/session.schema").Sessions, {}, {}> & import("../customer/schema/session.schema").Sessions & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    getFirstNameFromEmail(email: string): string;
    editReferCode(payload: any, req: any): Promise<void>;
    updateRefralForCustomer(payload: any, applied_referral_code: any): Promise<mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    updateRefralForDrivers(payload: any, referral_code: any): Promise<mongosse.Document<unknown, {}, import("../driver/schema/driver.schema").Drivers, {}, {}> & import("../driver/schema/driver.schema").Drivers & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    addRefferalInSocialogin(payload: any, body: editProfileReferCodeDto, req?: any): Promise<{
        message: string;
    }>;
    decode_JwtToken(token: string): Promise<any>;
    find_customer_with_phone(phone: string): Promise<mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    find_driver_with_phone(phone: string): Promise<any>;
    find_agent_with_phone(phone: string): Promise<mongosse.Document<unknown, {}, import("../agent/schema/agent.schema").Agent, {}, {}> & import("../agent/schema/agent.schema").Agent & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    find_customer_with_id(id: string): Promise<mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    find_agent_with_id(id: string): Promise<mongosse.Document<unknown, {}, import("../agent/schema/agent.schema").Agent, {}, {}> & import("../agent/schema/agent.schema").Agent & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    find_driver_with_id(id: string): Promise<mongosse.Document<unknown, {}, import("../driver/schema/driver.schema").Drivers, {}, {}> & import("../driver/schema/driver.schema").Drivers & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    customer_login(customer: any, fcm_token: String, language: any, device_type: string, timeZone: string): Promise<{
        access_token: string;
        data: any;
    }>;
    driver_login(driver: any, fcm_token: String, language: any, device_type: string, timeZone: string): Promise<{
        access_token: string;
        data: any;
    }>;
    agent_login(agent: any, fcm_token: String, language: any, device_type: string, timeZone: string): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../agent/schema/agent.schema").Agent, {}, {}> & import("../agent/schema/agent.schema").Agent & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    customer_signup(body: any, customer_data: any): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    driver_signup(body: any, driver_data: any): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../driver/schema/driver.schema").Drivers, {}, {}> & import("../driver/schema/driver.schema").Drivers & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    agent_signup(body: any, agent_data: any): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../agent/schema/agent.schema").Agent, {}, {}> & import("../agent/schema/agent.schema").Agent & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    company_login(company: any, fcm_token: String, language: any, device_type: string, timeZone: string): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../company/schema/company.schema").Company, {}, {}> & import("../company/schema/company.schema").Company & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    company_signup(body: any, company_data: any): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../company/schema/company.schema").Company, {}, {}> & import("../company/schema/company.schema").Company & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    getProfile(payload: any): Promise<{
        data: any;
        error?: undefined;
    } | {
        error: string;
        data?: undefined;
    }>;
    getDriverServicePreferences: (driver: any) => any[];
    getTodaysEarnings(driverId: string): Promise<{
        today_earning: any;
        today_rides: any;
        yesterday_earning: any;
        yesterday_rides: any;
        percentage_difference: number;
    }>;
    editProfile(payload: any, body: any, req: any): Promise<{
        message: any;
        driver_service_type: import("../driver/schema/driver.schema").ServiceType;
    }>;
    send_email_referral_applied(name: any, email: any, numberCondition: any): Promise<void>;
    verify_email(payload: any, body: any, req: any): Promise<{
        message: any;
        driver_service_type?: undefined;
    } | {
        message: any;
        driver_service_type: import("../driver/schema/driver.schema").ServiceType;
    }>;
    verify_edit_phone(payload: any, body: any, req: any): Promise<{
        message: any;
    }>;
    delete_account(payload: any, req: any): Promise<{
        message: any;
    }>;
    logOut(req: any, payload: any): Promise<{
        message: any;
    }>;
    social_login(body: SocialLoginDto, req?: any): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    } | {
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../driver/schema/driver.schema").Drivers, {}, {}> & import("../driver/schema/driver.schema").Drivers & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    login_with_google(body: SocialLoginDto, req: any): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    login_with_apple(body: any, req: any): Promise<{
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../customer/schema/customer.schema").Customers, {}, {}> & import("../customer/schema/customer.schema").Customers & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    } | {
        access_token: string;
        data: mongosse.Document<unknown, {}, import("../driver/schema/driver.schema").Drivers, {}, {}> & import("../driver/schema/driver.schema").Drivers & {
            _id: Types.ObjectId;
        } & {
            __v: number;
        };
    }>;
    generateOtp(): number | "1234";
    UpdateFcmToken(id: any, token: any): Promise<{
        message: string;
    }>;
    SentWelcomeMailToCustomer(name: any, email: any): Promise<void>;
    SentWelcomeMailToDriver(name: any, email: any): Promise<void>;
}
