import { ConfigService } from '@nestjs/config';
import { Response } from 'express';
import { AuthService } from './auth.service';
import { RegisterDto } from './dto/register.dto';
import { LoginDto } from './dto/login.dto';
import { ForgotPasswordDto } from './dto/forgot-password.dto';
import { ResetPasswordDto } from './dto/reset-password.dto';
import { VerifyEmailDto } from './dto/verify-email.dto';
import { ResendVerificationDto } from './dto/resend-verification.dto';
import { AuthResponseDto, RefreshResponseDto, MessageResponseDto } from './dto/auth-response.dto';
import { AuthenticatedUser } from './strategies/jwt.strategy';
import { RefreshUser } from './strategies/jwt-refresh.strategy';
import { GoogleProfile } from './strategies/google.strategy';
export declare class AuthController {
    private readonly authService;
    private readonly config;
    constructor(authService: AuthService, config: ConfigService);
    register(dto: RegisterDto): Promise<MessageResponseDto>;
    login(dto: LoginDto, res: Response): Promise<AuthResponseDto>;
    googleAuth(): void;
    googleCallback(req: {
        user: GoogleProfile;
    }, res: Response): Promise<void>;
    refresh(user: RefreshUser, res: Response): Promise<RefreshResponseDto>;
    logout(user: AuthenticatedUser, res: Response): Promise<MessageResponseDto>;
    forgotPassword(dto: ForgotPasswordDto): Promise<MessageResponseDto>;
    resetPassword(dto: ResetPasswordDto): Promise<MessageResponseDto>;
    verifyEmail(dto: VerifyEmailDto, res: Response): Promise<AuthResponseDto>;
    resendVerification(dto: ResendVerificationDto): Promise<MessageResponseDto>;
}
