// third_party/blink/public/mojom/webauthn/authenticator.mojom-blink-forward.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2019 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBAUTHN_AUTHENTICATOR_MOJOM_BLINK_FORWARD_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBAUTHN_AUTHENTICATOR_MOJOM_BLINK_FORWARD_H_

#include <stdint.h>

#include "mojo/public/cpp/bindings/struct_forward.h"

#include "mojo/public/cpp/bindings/deprecated_interface_types_forward.h"


#include "mojo/public/interfaces/bindings/native_struct.mojom-forward.h"
#include "third_party/blink/renderer/platform/platform_export.h"





namespace blink::mojom {

enum class AuthenticatorStatus : int32_t;

enum class AuthenticatorTransport : int32_t;

enum class Hint : int32_t;

enum class UserVerificationRequirement : int32_t;

enum class Mediation : int32_t;

enum class ResidentKeyRequirement : int32_t;

enum class AuthenticatorAttachment : int32_t;

enum class ProtectionPolicy : int32_t;

enum class LargeBlobSupport : int32_t;

enum class AttestationConveyancePreference : int32_t;

enum class PublicKeyCredentialType : int32_t;
class AuthenticatorInterfaceBase;


}  // blink::mojom


namespace blink::mojom::blink {
// Aliases for definition in the parent namespace.
using AuthenticatorStatus = AuthenticatorStatus;
using AuthenticatorTransport = AuthenticatorTransport;
using Hint = Hint;
using UserVerificationRequirement = UserVerificationRequirement;
using Mediation = Mediation;
using ResidentKeyRequirement = ResidentKeyRequirement;
using AuthenticatorAttachment = AuthenticatorAttachment;
using ProtectionPolicy = ProtectionPolicy;
using LargeBlobSupport = LargeBlobSupport;
using AttestationConveyancePreference = AttestationConveyancePreference;
using PublicKeyCredentialType = PublicKeyCredentialType;
using AuthenticatorInterfaceBase = AuthenticatorInterfaceBase;

constexpr uint32_t kPublicKeyCredentialDescriptorListMaxSize = 64U;
class CommonCredentialInfo;
using CommonCredentialInfoPtr = mojo::StructPtr<CommonCredentialInfo>;

class UvmEntry;
using UvmEntryPtr = mojo::InlinedStructPtr<UvmEntry>;

class CmtgKeyResponse;
using CmtgKeyResponsePtr = mojo::StructPtr<CmtgKeyResponse>;

class AuthenticationExtensionsPaymentResponse;
using AuthenticationExtensionsPaymentResponsePtr = mojo::StructPtr<AuthenticationExtensionsPaymentResponse>;

class MakeCredentialAuthenticatorResponse;
using MakeCredentialAuthenticatorResponsePtr = mojo::StructPtr<MakeCredentialAuthenticatorResponse>;

class GetAssertionAuthenticatorResponse;
using GetAssertionAuthenticatorResponsePtr = mojo::StructPtr<GetAssertionAuthenticatorResponse>;

class AuthenticationExtensionsClientOutputs;
using AuthenticationExtensionsClientOutputsPtr = mojo::StructPtr<AuthenticationExtensionsClientOutputs>;

class PublicKeyCredentialRpEntity;
using PublicKeyCredentialRpEntityPtr = mojo::InlinedStructPtr<PublicKeyCredentialRpEntity>;

class PublicKeyCredentialUserEntity;
using PublicKeyCredentialUserEntityPtr = mojo::StructPtr<PublicKeyCredentialUserEntity>;

class PublicKeyCredentialParameters;
using PublicKeyCredentialParametersPtr = mojo::InlinedStructPtr<PublicKeyCredentialParameters>;

class PRFValues;
using PRFValuesPtr = mojo::StructPtr<PRFValues>;

class PaymentOptions;
using PaymentOptionsPtr = mojo::StructPtr<PaymentOptions>;

class PaymentCredentialInstrument;
using PaymentCredentialInstrumentPtr = mojo::StructPtr<PaymentCredentialInstrument>;

class ShownPaymentEntityLogo;
using ShownPaymentEntityLogoPtr = mojo::StructPtr<ShownPaymentEntityLogo>;

class RemoteDesktopClientOverride;
using RemoteDesktopClientOverridePtr = mojo::StructPtr<RemoteDesktopClientOverride>;

class PublicKeyCredentialRequestOptions;
using PublicKeyCredentialRequestOptionsPtr = mojo::StructPtr<PublicKeyCredentialRequestOptions>;

class AuthenticationExtensionsClientInputs;
using AuthenticationExtensionsClientInputsPtr = mojo::StructPtr<AuthenticationExtensionsClientInputs>;

class GetCredentialOptions;
using GetCredentialOptionsPtr = mojo::StructPtr<GetCredentialOptions>;

class AuthenticatorSelectionCriteria;
using AuthenticatorSelectionCriteriaPtr = mojo::InlinedStructPtr<AuthenticatorSelectionCriteria>;

class PublicKeyCredentialCreationOptions;
using PublicKeyCredentialCreationOptionsPtr = mojo::StructPtr<PublicKeyCredentialCreationOptions>;

class PublicKeyCredentialDescriptor;
using PublicKeyCredentialDescriptorPtr = mojo::StructPtr<PublicKeyCredentialDescriptor>;

class WebAuthnDOMExceptionDetails;
using WebAuthnDOMExceptionDetailsPtr = mojo::InlinedStructPtr<WebAuthnDOMExceptionDetails>;

class PublicKeyCredentialReportOptions;
using PublicKeyCredentialReportOptionsPtr = mojo::StructPtr<PublicKeyCredentialReportOptions>;

class AllAcceptedCredentialsOptions;
using AllAcceptedCredentialsOptionsPtr = mojo::StructPtr<AllAcceptedCredentialsOptions>;

class CurrentUserDetailsOptions;
using CurrentUserDetailsOptionsPtr = mojo::StructPtr<CurrentUserDetailsOptions>;

class WebAuthnClientCapability;
using WebAuthnClientCapabilityPtr = mojo::InlinedStructPtr<WebAuthnClientCapability>;

class GetAssertionResponse;
using GetAssertionResponsePtr = mojo::StructPtr<GetAssertionResponse>;

class GetCredentialResponse;

using GetCredentialResponsePtr = mojo::StructPtr<GetCredentialResponse>;

class Authenticator;




}  // blink::mojom::blink

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_WEBAUTHN_AUTHENTICATOR_MOJOM_BLINK_FORWARD_H_