import { MfaService } from '../services/mfa.service';
import { NestAuthSendMfaCodeRequestDto } from '../dto/requests/send-mfa-code.request.dto';
import { NestAuthVerifyTotpSetupRequestDto } from '../dto/requests/verify-totp-setup.request.dto';
import { NestAuthToggleMfaRequestDto } from '../dto/requests/toggle-mfa.request.dto';
import { MfaStatusResponseDto, MfaDeviceDto } from '../dto/responses/mfa-status.response.dto';
import { AuthConfigService } from '../../core/services/auth-config.service';
import { NestAuthMfaToggleResponseDto, NestAuthMfaDeviceRemovedResponseDto, NestAuthMfaCodeSentResponseDto, NestAuthMfaDeviceVerifiedResponseDto, NestAuthMfaResetResponseDto } from '../dto/responses/auth-messages.response.dto';
export declare class MfaController {
    private readonly mfaService;
    private readonly authConfig;
    constructor(mfaService: MfaService, authConfig: AuthConfigService);
    private getCurrentUserOrThrow;
    getStatus(): Promise<MfaStatusResponseDto>;
    toggleMfa(input: NestAuthToggleMfaRequestDto): Promise<NestAuthMfaToggleResponseDto>;
    listDevices(): Promise<MfaDeviceDto[]>;
    removeDevice(deviceId: string): Promise<NestAuthMfaDeviceRemovedResponseDto>;
    challenge(input: NestAuthSendMfaCodeRequestDto): Promise<NestAuthMfaCodeSentResponseDto>;
    setupTotp(): Promise<{
        secret: string;
        qrCode: string;
    }>;
    verifyTotpSetup(input: NestAuthVerifyTotpSetupRequestDto): Promise<NestAuthMfaDeviceVerifiedResponseDto>;
    generateRecoveryCodes(): Promise<{
        code: string;
    }>;
    resetTotp(code: string): Promise<NestAuthMfaResetResponseDto>;
}
//# sourceMappingURL=mfa.controller.d.ts.map