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, NestAuthPhoneVerificationSentResponseDto, NestAuthPhoneVerifiedResponseDto, NestAuthMfaCodeSentResponseDto } from '../dto/responses/auth-messages.response.dto';
import { NestAuthLoginRequestDto } from '../dto/requests/login.request.dto';
import { MessageResponseDto } from '../../core';
import { InviteService } from '../services/invite.service';
import { NestAuthInviteRequestDto } from '../dto/requests/invite.request.dto';
import { ISessionUserData, 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 { NestAuthSendPhoneVerificationRequestDto } from '../dto/requests/send-phone-verification.request.dto';
import { NestAuthVerifyPhoneRequestDto } from '../dto/requests/verify-phone.request.dto';
import { NestAuthSwitchTenantRequestDto } from '../dto/requests/switch-tenant.request.dto';
import { PasswordService } from '../services/password.service';
import { VerificationService } from '../services/verification.service';
import { AuthConfigService } from '../../core/services/auth-config.service';
import { TenantService } from '../../tenant/services/tenant.service';
import { NestAuthPasswordlessSendRequestDto } from '../dto/requests/passwordless-send.request.dto';
export declare class AuthController {
    private readonly authService;
    private readonly passwordService;
    private readonly verificationService;
    private readonly authConfigService;
    private readonly tenantService;
    private readonly inviteService;
    constructor(authService: AuthService, passwordService: PasswordService, verificationService: VerificationService, authConfigService: AuthConfigService, tenantService: TenantService, inviteService: InviteService);
    signup(input: NestAuthSignupRequestDto): Promise<AuthWithTokensResponseDto>;
    invite(input: NestAuthInviteRequestDto): Promise<{
        message: string;
        userId: string;
        isNewUser: boolean;
    }>;
    login(input: NestAuthLoginRequestDto): Promise<AuthWithTokensResponseDto>;
    passwordlessSend(input: NestAuthPasswordlessSendRequestDto): Promise<MessageResponseDto>;
    refreshToken(input: NestAuthRefreshTokenRequestDto, req: Request): Promise<AuthWithTokensResponseDto>;
    send2faCode(method: NestAuthMFAMethodEnum): Promise<NestAuthMfaCodeSentResponseDto>;
    verify2fa(input: NestAuthVerify2faRequestDto): Promise<Verify2faWithTokensResponseDto>;
    logout(res: Response, req: Request): Promise<NestAuthLogoutResponseDto>;
    private clearActiveAccountCookies;
    logoutAll(res: Response, req: Request): Promise<NestAuthLogoutAllResponseDto>;
    switchTenant(input: NestAuthSwitchTenantRequestDto): Promise<AuthWithTokensResponseDto>;
    sessionUserData(): Promise<ISessionUserData>;
    changePassword(input: NestAuthChangePasswordRequestDto): Promise<MessageResponseDto>;
    forgotPassword(input: NestAuthForgotPasswordRequestDto): Promise<NestAuthPasswordResetLinkSentResponseDto>;
    verifyForgotPasswordOtp(input: NestAuthVerifyForgotPasswordOtpRequestDto): Promise<VerifyOtpResponseDto>;
    resetPassword(input: NestAuthResetPasswordWithTokenRequestDto): Promise<NestAuthPasswordResetResponseDto>;
    getClientConfig(): Promise<any>;
    listAccounts(req: Request): Promise<{
        accounts: {
            accountId: string;
            email: any;
            phone: any;
            tenantId: any;
            isActive: boolean;
        }[];
    }>;
    lookupTenant(slug?: string): Promise<{
        id: string;
        slug: string;
        name: string;
    }>;
    getUser(): Promise<import("../../core").NestAuthUser>;
    verifySession(): Promise<{
        valid: boolean;
        userId: string;
        expiresAt: string;
    }>;
    sendEmailVerification(input: NestAuthSendEmailVerificationRequestDto): Promise<NestAuthEmailVerificationSentResponseDto>;
    verifyEmail(input: NestAuthVerifyEmailRequestDto): Promise<NestAuthEmailVerifiedResponseDto>;
    sendPhoneVerification(input: NestAuthSendPhoneVerificationRequestDto): Promise<NestAuthPhoneVerificationSentResponseDto>;
    verifyPhone(input: NestAuthVerifyPhoneRequestDto): Promise<NestAuthPhoneVerifiedResponseDto>;
    ssoCallback(provider: string, data: any, res: Response): Promise<void>;
}
//# sourceMappingURL=auth.controller.d.ts.map