import { AuthService } from '../services/auth.service';
import { NestAuthVerify2faRequestDto } from '../dto/requests/verify-2fa.request.dto';
import { NestAuthRefreshTokenRequestDto } from '../dto/requests/refresh-token.request.dto';
import { Request, Response } from 'express';
import { AuthWithTokensResponseDto, Verify2faWithTokensResponseDto } from '../dto/responses/auth.response.dto';
import { NestAuthSignupRequestDto } from '../dto/requests/signup.request.dto';
import { NestAuthLogoutResponseDto, NestAuthLogoutAllResponseDto, NestAuthPasswordResetLinkSentResponseDto, NestAuthPasswordResetResponseDto, NestAuthEmailVerificationSentResponseDto, NestAuthEmailVerifiedResponseDto, NestAuthMfaCodeSentResponseDto } from '../dto/responses/auth-messages.response.dto';
import { NestAuthLoginRequestDto } from '../dto/requests/login.request.dto';
import { NestAuthMFAMethodEnum } from '@ackplus/nest-auth-contracts';
import { NestAuthForgotPasswordRequestDto } from '../dto/requests/forgot-password.request.dto';
import { NestAuthVerifyForgotPasswordOtpRequestDto } from '../dto/requests/verify-forgot-password-otp-request-dto';
import { NestAuthResetPasswordWithTokenRequestDto } from '../dto/requests/reset-password-with-token.request.dto';
import { VerifyOtpResponseDto } from '../dto/responses/verify-otp.response.dto';
import { NestAuthChangePasswordRequestDto } from '../dto/requests/change-password.request.dto';
import { NestAuthSendEmailVerificationRequestDto } from '../dto/requests/send-email-verification.request.dto';
import { NestAuthVerifyEmailRequestDto } from '../dto/requests/verify-email.request.dto';
import { PasswordService } from '../services/password.service';
import { VerificationService } from '../services/verification.service';
export declare class AuthController {
    private readonly authService;
    private readonly passwordService;
    private readonly verificationService;
    constructor(authService: AuthService, passwordService: PasswordService, verificationService: VerificationService);
    signup(input: NestAuthSignupRequestDto): Promise<AuthWithTokensResponseDto>;
    login(input: NestAuthLoginRequestDto): Promise<AuthWithTokensResponseDto>;
    refreshToken(input: NestAuthRefreshTokenRequestDto): Promise<AuthWithTokensResponseDto>;
    send2faCode(method: NestAuthMFAMethodEnum): Promise<NestAuthMfaCodeSentResponseDto>;
    verify2fa(input: NestAuthVerify2faRequestDto): Promise<Verify2faWithTokensResponseDto>;
    logout(res: Response, req: Request): Promise<NestAuthLogoutResponseDto>;
    logoutAll(res: Response): Promise<NestAuthLogoutAllResponseDto>;
    changePassword(input: NestAuthChangePasswordRequestDto): Promise<AuthWithTokensResponseDto>;
    forgotPassword(input: NestAuthForgotPasswordRequestDto): Promise<NestAuthPasswordResetLinkSentResponseDto>;
    verifyForgotPasswordOtp(input: NestAuthVerifyForgotPasswordOtpRequestDto): Promise<VerifyOtpResponseDto>;
    resetPassword(input: NestAuthResetPasswordWithTokenRequestDto): Promise<NestAuthPasswordResetResponseDto>;
    getUser(): Promise<Partial<import("../../core").NestAuthUser>>;
    verifySession(): Promise<{
        valid: boolean;
        userId: string;
        expiresAt: string;
    }>;
    sendEmailVerification(input: NestAuthSendEmailVerificationRequestDto): Promise<NestAuthEmailVerificationSentResponseDto>;
    verifyEmail(input: NestAuthVerifyEmailRequestDto): Promise<NestAuthEmailVerifiedResponseDto>;
    ssoCallback(provider: string, data: any, res: Response): Promise<void>;
}
//# sourceMappingURL=auth.controller.d.ts.map