# This file is auto-generated by oagen. Do not edit.

"""Enumeration of authentication factor enrolled type values."""

from __future__ import annotations

from enum import Enum
from typing import Optional
from typing import Literal, TypeAlias


class AuthenticationFactorEnrolledType(str, Enum):
    """Known values for AuthenticationFactorEnrolledType."""

    GENERIC_OTP = "generic_otp"
    SMS = "sms"
    TOTP = "totp"
    WEBAUTHN = "webauthn"

    @classmethod
    def _missing_(cls, value: object) -> Optional["AuthenticationFactorEnrolledType"]:
        if not isinstance(value, str):
            return None
        unknown = str.__new__(cls, value)
        unknown._name_ = value.upper()
        unknown._value_ = value
        return unknown


AuthenticationFactorEnrolledTypeLiteral: TypeAlias = Literal[
    "generic_otp", "sms", "totp", "webauthn"
]
