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 { SetPasswordDto } from "./dto/set-password.dto";
import { RequestDemoDto } from "./dto/request-demo.dto";
export declare class AuthController {
    private readonly authService;
    constructor(authService: AuthService);
    login(loginDto: LoginDto): Promise<any>;
    forgotPassword(email: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    resetPassword(resetPasswordDto: ResetPasswordDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    setPassword(setPasswordDto: SetPasswordDto): 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;
    }>;
    regenerateRefreshToken(request: Request): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    requestDemo(requestDemoDto: RequestDemoDto): Promise<{
        success: boolean;
        code: number;
        message: string;
    }>;
    verifyEmail(token: string): Promise<{
        success: boolean;
        code: number;
        message: string;
    } | {
        success: boolean;
        code: number;
        message: string;
        data: {
            message: string;
        };
    }>;
    bulkSendFeatureEmails(file: Express.Multer.File): Promise<{
        success: boolean;
        code: number;
        message: string;
    }> | {
        success: boolean;
        message: string;
    };
}
