import { MessageResponseDto } from '../../core';
import { MfaService } from '../services/mfa.service';
import { SendMfaCodeRequestDto } from '../dto/requests/send-mfa-code.request.dto';
import { VerifyTotpSetupRequestDto } from '../dto/requests/verify-totp-setup.request.dto';
import { ToggleMfaRequestDto } 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';
export declare class MfaController {
    private readonly mfaService;
    private readonly authConfig;
    constructor(mfaService: MfaService, authConfig: AuthConfigService);
    private getCurrentUserOrThrow;
    getStatus(): Promise<MfaStatusResponseDto>;
    toggleMfa(input: ToggleMfaRequestDto): Promise<MessageResponseDto>;
    listDevices(): Promise<MfaDeviceDto[]>;
    removeDevice(deviceId: string): Promise<MessageResponseDto>;
    sendMfaCode(input: SendMfaCodeRequestDto): Promise<{
        message: string;
    }>;
    setupTotp(): Promise<{
        secret: string;
        qrCode: string;
    }>;
    verifyTotpSetup(input: VerifyTotpSetupRequestDto): Promise<{
        message: string;
    }>;
    generateRecoveryCodes(): Promise<{
        code: string;
    }>;
    resetTotp(code: string): Promise<{
        message: string;
    }>;
}
//# sourceMappingURL=mfa.controller.d.ts.map