import { UsersService } from '../users/users.service';
import { JwtService } from '@nestjs/jwt';
import { MailService } from '../mail/mail.service';
export declare class AuthService {
    private usersService;
    private jwtService;
    private mailService;
    constructor(usersService: UsersService, jwtService: JwtService, mailService: MailService);
    register(data: {
        email: string;
        password: string;
        phone?: string;
        gender?: string;
        role?: string;
    }): Promise<{
        message: string;
        email: string;
    }>;
    verifyOtp(email: string, otp: string): Promise<{
        message: string;
        access_token: string;
        refresh_token: string;
        role: string;
    }>;
    resendOtp(email: string): Promise<{
        message: string;
    }>;
    login(email: string, password: string): Promise<{
        access_token: string;
        refresh_token: string;
    }>;
    forgotPassword(email: string): Promise<{
        error: string;
        message?: undefined;
    } | {
        message: string;
        error?: undefined;
    }>;
    resetPassword(token: string, newPassword: string): Promise<{
        message: string;
    }>;
    socialLogin(data: {
        email: string;
        name?: string;
        image?: string;
        provider?: string;
        role?: string;
    }): Promise<{
        access_token: string;
        refresh_token: string;
    }>;
    updateSocialRole(userId: number, role: string): Promise<{
        access_token: string;
        role: string;
    }>;
}
