/** * DTO for setting MFA exemption * * Used to grant or revoke a user's exemption from multi-factor authentication requirements. * Admin-only operation. * * @example * ```typescript * const result = await mfaService.setMFAExemption({ * sub: 'a21b654c-2746-4168-acee-c175083a65cd', // User sub (UUID v4) * exempt: true, * reason: 'Business partner requires MFA bypass', * grantedBy: 'admin@example.com' * }); * ``` */ /** * DTO for setting MFA exemption * * SECURITY: This DTO targets an arbitrary user; it must only be accepted by admin-protected APIs. */ export declare class SetMFAExemptionDTO { /** * User's unique identifier (UUID v4) * * Validation: * - Must be a valid UUID v4 format * - Matches DB constraint: char(36) or uuid * * Sanitization: * - Trimmed * - Lowercased for consistency * * @example "a21b654c-2746-4168-acee-c175083a65cd" */ sub: string; /** * Whether to grant exemption (true) or revoke exemption (false) */ exempt: boolean; /** * Optional reason for the exemption status change * * Validation: * - Max 500 characters * * Sanitization: * - Trimmed */ reason?: string | null; /** * Optional identifier of the admin performing this action. * Typically the admin's sub (UUID) when set from authenticated context. * Used for mfaExemptGrantedBy on the user and for audit performedBy. * * Validation: * - Max 255 characters * * Sanitization: * - Trimmed */ grantedBy?: string | null; } /** * Response DTO for setting MFA exemption */ export declare class SetMFAExemptionResponseDTO { /** * Whether user is exempt from MFA requirements */ mfaExempt: boolean; /** * Reason for MFA exemption (if exempt) */ mfaExemptReason: string | null; /** * Date when MFA exemption was granted (if exempt) */ mfaExemptGrantedAt: Date | null; } //# sourceMappingURL=set-mfa-exemption.dto.d.ts.map