using System.Runtime.Serialization;
using System.Text.Json.Serialization;
using ProtonVPN.OperatingSystems.WebAuthn.Serialization;
namespace ProtonVPN.OperatingSystems.WebAuthn.Enums;
///
/// This enumeration’s values describe authenticators' attachment modalities.
///
/// https://www.w3.org/TR/webauthn-2/#enum-attachment
[JsonConverter(typeof(JsonCustomEnumConverter))]
public enum AuthenticatorAttachment : uint
{
///
/// No authenticator attachment filters are applied.
///
///
/// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_ANY.
///
[EnumMember(Value = "NULL")]
Any = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_ANY,
///
/// This value indicates platform attachment.
///
///
/// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_PLATFORM.
///
[EnumMember(Value = "platform")]
Platform = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_PLATFORM,
///
/// This value indicates cross-platform attachment.
///
///
/// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM.
///
[EnumMember(Value = "cross-platform")]
CrossPlatform = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM,
///
/// Corresponds to WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM_U2F_V2.
///
CrossPlatformU2F = PInvoke.WEBAUTHN_AUTHENTICATOR_ATTACHMENT_CROSS_PLATFORM_U2F_V2
}