import { AuthService } from '../services/auth.service';
import { Verify2faRequestDto } from '../dto/requests/verify-2fa.request.dto';
import { RefreshTokenRequestDto } from '../dto/requests/refresh-token.request.dto';
import { Response } from 'express';
import { CookieService } from '../services/cookie.service';
import { AuthConfigService } from '../../core/services/auth-config.service';
import { SignupRequestDto } from '../dto/requests/signup.request.dto';
import { LoginRequestDto } from '../dto/requests/login.request.dto';
import { MessageResponseDto, MFAMethodEnum } from '../../core';
import { ForgotPasswordRequestDto } from '../dto/requests/forgot-password.request.dto';
import { ResetPasswordRequestDto } from '../dto/requests/reset-password.request.dto';
import { VerifyForgotPasswordOtpRequestDto } from '../dto/requests/verify-forgot-password-otp-request-dto';
import { ResetPasswordWithTokenRequestDto } from '../dto/requests/reset-password-with-token.request.dto';
import { VerifyOtpResponseDto } from '../dto/responses/verify-otp.response.dto';
import { ChangePasswordRequestDto } from '../dto/requests/change-password.request.dto';
import { SendEmailVerificationRequestDto } from '../dto/requests/send-email-verification.request.dto';
import { VerifyEmailRequestDto } from '../dto/requests/verify-email.request.dto';
import { ClientConfigService } from '../services/client-config.service';
import { ClientConfigResponseDto } from '../dto/responses/client-config.response.dto';
export declare class AuthController {
    private readonly authService;
    private readonly cookieService;
    private readonly authConfig;
    private readonly clientConfigService;
    constructor(authService: AuthService, cookieService: CookieService, authConfig: AuthConfigService, clientConfigService: ClientConfigService);
    protected isUsingCookies(): boolean;
    protected handleAuthResponse(res: Response, authResult: {
        accessToken: string;
        refreshToken: string;
        isRequiresMfa: boolean;
    }, successMessage?: string): void;
    protected handle2faResponse(res: Response, authResult: {
        accessToken: string;
        refreshToken: string;
        trustToken?: string;
    }): void;
    signup(input: SignupRequestDto, res: Response): Promise<void>;
    login(input: LoginRequestDto, res: Response): Promise<void>;
    refreshToken(input: RefreshTokenRequestDto, res: Response): Promise<void>;
    send2faCode(method: MFAMethodEnum): Promise<{
        message: string;
    }>;
    verify2fa(input: Verify2faRequestDto, res: Response): Promise<void>;
    logout(res: Response): Promise<void>;
    logoutAll(): Promise<MessageResponseDto>;
    changePassword(input: ChangePasswordRequestDto, res: Response): Promise<void>;
    forgotPassword(input: ForgotPasswordRequestDto): Promise<MessageResponseDto>;
    verifyForgotPasswordOtp(input: VerifyForgotPasswordOtpRequestDto): Promise<VerifyOtpResponseDto>;
    resetPassword(input: ResetPasswordRequestDto): Promise<MessageResponseDto>;
    resetPasswordWithToken(input: ResetPasswordWithTokenRequestDto): Promise<MessageResponseDto>;
    getUser(): Promise<Partial<import("../../core").NestAuthUser>>;
    sendEmailVerification(input: SendEmailVerificationRequestDto): Promise<MessageResponseDto>;
    verifyEmail(input: VerifyEmailRequestDto): Promise<MessageResponseDto>;
    getClientConfig(): Promise<ClientConfigResponseDto>;
    ssoCallback(provider: string, data: any, res: Response): Promise<void>;
}
//# sourceMappingURL=auth.controller.d.ts.map