import { Request } from "express";
import { AuthService } from "./auth.service";
import { ChangePasswordDto } from "../dto/change-password.dto";
import { EditProfileDto } from "../dto/edit-profile.dto";
import { LoginDto } from "../dto/login.dto";
import { ResetPasswordDto } from "../dto/reset-password.dto";
import { MobileLoginDto } from "../dto/mobile-login.dto";
import { RefreshTokenDto } from "../dto/refresh-token.dto";
export declare class AuthController {
    private readonly authService;
    constructor(authService: AuthService);
    login(loginDto: LoginDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    forgotPassword(email: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    resetPassword(req: Request, resetPasswordDto: ResetPasswordDto, token: string): {
        success: boolean;
        code: number;
        message: string;
    } | Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    getProfile(request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    editProfile(request: Request, editProfileDto: EditProfileDto, profile_pic: any): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    changePassword(request: Request, changePasswordDto: ChangePasswordDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    logout(request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    mobileLogin(mobileLoginDto: MobileLoginDto, request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    verifyOtp(body: {
        otp: string;
        user_id: number;
    }, fcmToken?: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    refreshToken(refreshTokenDto: RefreshTokenDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    removeFcmToken(body: {
        fcm_token: string;
    }): Promise<any>;
}
