import { Request } from 'express'; import { AuthService, AuthResponse } from './services/auth.service'; import { LoginDto, RegisterDto, RequestPasswordResetDto, ResetPasswordDto, ChangePasswordDto } from './dto'; import { RequestUser } from './strategies/jwt.strategy'; export declare class AuthController { private readonly authService; constructor(authService: AuthService); register(dto: RegisterDto, tenantId: string, req: Request): Promise; login(dto: LoginDto, tenantId: string, req: Request): Promise; logout(user: RequestUser, sessionToken: string): Promise<{ message: string; }>; logoutAll(user: RequestUser): Promise<{ message: string; }>; refresh(refreshToken: string, req: Request): Promise<{ accessToken: string; refreshToken: string; }>; requestPasswordReset(dto: RequestPasswordResetDto, tenantId: string): Promise<{ message: string; }>; resetPassword(dto: ResetPasswordDto, tenantId: string): Promise<{ message: string; }>; changePassword(user: RequestUser, dto: ChangePasswordDto): Promise<{ message: string; }>; verifyEmail(token: string, tenantId: string): Promise<{ message: string; }>; getProfile(user: RequestUser): Promise>; }