text:
using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Google.Cloud.Dialogflow.V2 {

  /// Holder for reflection information generated from google/cloud/dialogflow/v2/entity_type.proto
  public static partial class EntityTypeReflection {

    #region Descriptor
    /// File descriptor for google/cloud/dialogflow/v2/entity_type.proto
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static EntityTypeReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Cixnb29nbGUvY2xvdWQvZGlhbG9nZmxvdy92Mi9lbnRpdHlfdHlwZS5wcm90",
            "bxIaZ29vZ2xlLmNsb3VkLmRpYWxvZ2Zsb3cudjIaHGdvb2dsZS9hcGkvYW5u",
            "b3RhdGlvbnMucHJvdG8aF2dvb2dsZS9hcGkvY2xpZW50LnByb3RvGh9nb29n",
            "bGUvYXBpL2ZpZWxkX2JlaGF2aW9yLnByb3RvGhlnb29nbGUvYXBpL3Jlc291",
            "cmNlLnByb3RvGiNnb29nbGUvbG9uZ3J1bm5pbmcvb3BlcmF0aW9ucy5wcm90",
            "bxobZ29vZ2xlL3Byb3RvYnVmL2VtcHR5LnByb3RvGiBnb29nbGUvcHJvdG9i",
            "dWYvZmllbGRfbWFzay5wcm90byLDBQoKRW50aXR5VHlwZRIMCgRuYW1lGAEg",
            "ASgJEhkKDGRpc3BsYXlfbmFtZRgCIAEoCUID4EECEj4KBGtpbmQYAyABKA4y",
            "Ky5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52Mi5FbnRpdHlUeXBlLktpbmRC",
            "A+BBAhJaChNhdXRvX2V4cGFuc2lvbl9tb2RlGAQgASgOMjguZ29vZ2xlLmNs",
            "b3VkLmRpYWxvZ2Zsb3cudjIuRW50aXR5VHlwZS5BdXRvRXhwYW5zaW9uTW9k",
            "ZUID4EEBEkQKCGVudGl0aWVzGAYgAygLMi0uZ29vZ2xlLmNsb3VkLmRpYWxv",
            "Z2Zsb3cudjIuRW50aXR5VHlwZS5FbnRpdHlCA+BBARIkChdlbmFibGVfZnV6",
            "enlfZXh0cmFjdGlvbhgHIAEoCEID4EEBGjMKBkVudGl0eRISCgV2YWx1ZRgB",
            "IAEoCUID4EECEhUKCHN5bm9ueW1zGAIgAygJQgPgQQIiSgoES2luZBIUChBL",
            "SU5EX1VOU1BFQ0lGSUVEEAASDAoIS0lORF9NQVAQARINCglLSU5EX0xJU1QQ",
            "AhIPCgtLSU5EX1JFR0VYUBADIlkKEUF1dG9FeHBhbnNpb25Nb2RlEiMKH0FV",
            "VE9fRVhQQU5TSU9OX01PREVfVU5TUEVDSUZJRUQQABIfChtBVVRPX0VYUEFO",
            "U0lPTl9NT0RFX0RFRkFVTFQQATqnAepBowEKJGRpYWxvZ2Zsb3cuZ29vZ2xl",
            "YXBpcy5jb20vRW50aXR5VHlwZRIycHJvamVjdHMve3Byb2plY3R9L2FnZW50",
            "L2VudGl0eVR5cGVzL3tlbnRpdHlfdHlwZX0SR3Byb2plY3RzL3twcm9qZWN0",
            "fS9sb2NhdGlvbnMve2xvY2F0aW9ufS9hZ2VudC9lbnRpdHlUeXBlcy97ZW50",
            "aXR5X3R5cGV9IqMBChZMaXN0RW50aXR5VHlwZXNSZXF1ZXN0EjwKBnBhcmVu",
            "dBgBIAEoCUIs4EEC+kEmEiRkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29tL0Vu",
            "dGl0eVR5cGUSGgoNbGFuZ3VhZ2VfY29kZRgCIAEoCUID4EEBEhYKCXBhZ2Vf",
            "c2l6ZRgDIAEoBUID4EEBEhcKCnBhZ2VfdG9rZW4YBCABKAlCA+BBASJwChdM",
            "aXN0RW50aXR5VHlwZXNSZXNwb25zZRI8CgxlbnRpdHlfdHlwZXMYASADKAsy",
            "Ji5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52Mi5FbnRpdHlUeXBlEhcKD25l",
            "eHRfcGFnZV90b2tlbhgCIAEoCSJuChRHZXRFbnRpdHlUeXBlUmVxdWVzdBI6",
            "CgRuYW1lGAEgASgJQizgQQL6QSYKJGRpYWxvZ2Zsb3cuZ29vZ2xlYXBpcy5j",
            "b20vRW50aXR5VHlwZRIaCg1sYW5ndWFnZV9jb2RlGAIgASgJQgPgQQEitQEK",
            "F0NyZWF0ZUVudGl0eVR5cGVSZXF1ZXN0EjwKBnBhcmVudBgBIAEoCUIs4EEC",
            "+kEmEiRkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29tL0VudGl0eVR5cGUSQAoL",
            "ZW50aXR5X3R5cGUYAiABKAsyJi5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52",
            "Mi5FbnRpdHlUeXBlQgPgQQISGgoNbGFuZ3VhZ2VfY29kZRgDIAEoCUID4EEB",
            "Iq0BChdVcGRhdGVFbnRpdHlUeXBlUmVxdWVzdBJACgtlbnRpdHlfdHlwZRgB",
            "IAEoCzImLmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYyLkVudGl0eVR5cGVC",
            "A+BBAhIaCg1sYW5ndWFnZV9jb2RlGAIgASgJQgPgQQESNAoLdXBkYXRlX21h",
            "c2sYAyABKAsyGi5nb29nbGUucHJvdG9idWYuRmllbGRNYXNrQgPgQQEiVQoX",
            "RGVsZXRlRW50aXR5VHlwZVJlcXVlc3QSOgoEbmFtZRgBIAEoCUIs4EEC+kEm",
            "CiRkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29tL0VudGl0eVR5cGUitgIKHUJh",
            "dGNoVXBkYXRlRW50aXR5VHlwZXNSZXF1ZXN0EjwKBnBhcmVudBgBIAEoCUIs",
            "4EEC+kEmEiRkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29tL0VudGl0eVR5cGUS",
            "HwoVZW50aXR5X3R5cGVfYmF0Y2hfdXJpGAIgASgJSAASTwoYZW50aXR5X3R5",
            "cGVfYmF0Y2hfaW5saW5lGAMgASgLMisuZ29vZ2xlLmNsb3VkLmRpYWxvZ2Zs",
            "b3cudjIuRW50aXR5VHlwZUJhdGNoSAASGgoNbGFuZ3VhZ2VfY29kZRgEIAEo",
            "CUID4EEBEjQKC3VwZGF0ZV9tYXNrGAUgASgLMhouZ29vZ2xlLnByb3RvYnVm",
            "LkZpZWxkTWFza0ID4EEBQhMKEWVudGl0eV90eXBlX2JhdGNoIl4KHkJhdGNo",
            "VXBkYXRlRW50aXR5VHlwZXNSZXNwb25zZRI8CgxlbnRpdHlfdHlwZXMYASAD",
            "KAsyJi5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52Mi5FbnRpdHlUeXBlIn0K",
            "HUJhdGNoRGVsZXRlRW50aXR5VHlwZXNSZXF1ZXN0EjwKBnBhcmVudBgBIAEo",
            "CUIs4EEC+kEmEiRkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29tL0VudGl0eVR5",
            "cGUSHgoRZW50aXR5X3R5cGVfbmFtZXMYAiADKAlCA+BBAiK8AQoaQmF0Y2hD",
            "cmVhdGVFbnRpdGllc1JlcXVlc3QSPAoGcGFyZW50GAEgASgJQizgQQL6QSYK",
            "JGRpYWxvZ2Zsb3cuZ29vZ2xlYXBpcy5jb20vRW50aXR5VHlwZRJECghlbnRp",
            "dGllcxgCIAMoCzItLmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYyLkVudGl0",
            "eVR5cGUuRW50aXR5QgPgQQISGgoNbGFuZ3VhZ2VfY29kZRgDIAEoCUID4EEB",
            "IvIBChpCYXRjaFVwZGF0ZUVudGl0aWVzUmVxdWVzdBI8CgZwYXJlbnQYASAB",
            "KAlCLOBBAvpBJgokZGlhbG9nZmxvdy5nb29nbGVhcGlzLmNvbS9FbnRpdHlU",
            "eXBlEkQKCGVudGl0aWVzGAIgAygLMi0uZ29vZ2xlLmNsb3VkLmRpYWxvZ2Zs",
            "b3cudjIuRW50aXR5VHlwZS5FbnRpdHlCA+BBAhIaCg1sYW5ndWFnZV9jb2Rl",
            "GAMgASgJQgPgQQESNAoLdXBkYXRlX21hc2sYBCABKAsyGi5nb29nbGUucHJv",
            "dG9idWYuRmllbGRNYXNrQgPgQQEikgEKGkJhdGNoRGVsZXRlRW50aXRpZXNS",
            "ZXF1ZXN0EjwKBnBhcmVudBgBIAEoCUIs4EEC+kEmCiRkaWFsb2dmbG93Lmdv",
            "b2dsZWFwaXMuY29tL0VudGl0eVR5cGUSGgoNZW50aXR5X3ZhbHVlcxgCIAMo",
            "CUID4EECEhoKDWxhbmd1YWdlX2NvZGUYAyABKAlCA+BBASJPCg9FbnRpdHlU",
            "eXBlQmF0Y2gSPAoMZW50aXR5X3R5cGVzGAEgAygLMiYuZ29vZ2xlLmNsb3Vk",
            "LmRpYWxvZ2Zsb3cudjIuRW50aXR5VHlwZTLWGQoLRW50aXR5VHlwZXMShwIK",
            "D0xpc3RFbnRpdHlUeXBlcxIyLmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYy",
            "Lkxpc3RFbnRpdHlUeXBlc1JlcXVlc3QaMy5nb29nbGUuY2xvdWQuZGlhbG9n",
            "Zmxvdy52Mi5MaXN0RW50aXR5VHlwZXNSZXNwb25zZSKKAYLT5JMCZBIpL3Yy",
            "L3twYXJlbnQ9cHJvamVjdHMvKi9hZ2VudH0vZW50aXR5VHlwZXNaNxI1L3Yy",
            "L3twYXJlbnQ9cHJvamVjdHMvKi9sb2NhdGlvbnMvKi9hZ2VudH0vZW50aXR5",
            "VHlwZXPaQQZwYXJlbnTaQRRwYXJlbnQsbGFuZ3VhZ2VfY29kZRLyAQoNR2V0",
            "RW50aXR5VHlwZRIwLmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYyLkdldEVu",
            "dGl0eVR5cGVSZXF1ZXN0GiYuZ29vZ2xlLmNsb3VkLmRpYWxvZ2Zsb3cudjIu",
            "RW50aXR5VHlwZSKGAYLT5JMCZBIpL3YyL3tuYW1lPXByb2plY3RzLyovYWdl",
            "bnQvZW50aXR5VHlwZXMvKn1aNxI1L3YyL3tuYW1lPXByb2plY3RzLyovbG9j",
            "YXRpb25zLyovYWdlbnQvZW50aXR5VHlwZXMvKn3aQQRuYW1l2kESbmFtZSxs",
            "YW5ndWFnZV9jb2RlEq4CChBDcmVhdGVFbnRpdHlUeXBlEjMuZ29vZ2xlLmNs",
            "b3VkLmRpYWxvZ2Zsb3cudjIuQ3JlYXRlRW50aXR5VHlwZVJlcXVlc3QaJi5n",
            "b29nbGUuY2xvdWQuZGlhbG9nZmxvdy52Mi5FbnRpdHlUeXBlIrwBgtPkkwJ+",
            "IikvdjIve3BhcmVudD1wcm9qZWN0cy8qL2FnZW50fS9lbnRpdHlUeXBlczoL",
            "ZW50aXR5X3R5cGVaRCI1L3YyL3twYXJlbnQ9cHJvamVjdHMvKi9sb2NhdGlv",
            "bnMvKi9hZ2VudH0vZW50aXR5VHlwZXM6C2VudGl0eV90eXBl2kEScGFyZW50",
            "LGVudGl0eV90eXBl2kEgcGFyZW50LGVudGl0eV90eXBlLGxhbmd1YWdlX2Nv",
            "ZGUSuQIKEFVwZGF0ZUVudGl0eVR5cGUSMy5nb29nbGUuY2xvdWQuZGlhbG9n",
            "Zmxvdy52Mi5VcGRhdGVFbnRpdHlUeXBlUmVxdWVzdBomLmdvb2dsZS5jbG91",
            "ZC5kaWFsb2dmbG93LnYyLkVudGl0eVR5cGUixwGC0+STApYBMjUvdjIve2Vu",
            "dGl0eV90eXBlLm5hbWU9cHJvamVjdHMvKi9hZ2VudC9lbnRpdHlUeXBlcy8q",
            "fToLZW50aXR5X3R5cGVaUDJBL3YyL3tlbnRpdHlfdHlwZS5uYW1lPXByb2pl",
            "Y3RzLyovbG9jYXRpb25zLyovYWdlbnQvZW50aXR5VHlwZXMvKn06C2VudGl0",
            "eV90eXBl2kELZW50aXR5X3R5cGXaQRllbnRpdHlfdHlwZSxsYW5ndWFnZV9j",
            "b2RlEtIBChBEZWxldGVFbnRpdHlUeXBlEjMuZ29vZ2xlLmNsb3VkLmRpYWxv",
            "Z2Zsb3cudjIuRGVsZXRlRW50aXR5VHlwZVJlcXVlc3QaFi5nb29nbGUucHJv",
            "dG9idWYuRW1wdHkicYLT5JMCZCopL3YyL3tuYW1lPXByb2plY3RzLyovYWdl",
            "bnQvZW50aXR5VHlwZXMvKn1aNyo1L3YyL3tuYW1lPXByb2plY3RzLyovbG9j",
            "YXRpb25zLyovYWdlbnQvZW50aXR5VHlwZXMvKn3aQQRuYW1lEtQCChZCYXRj",
            "aFVwZGF0ZUVudGl0eVR5cGVzEjkuZ29vZ2xlLmNsb3VkLmRpYWxvZ2Zsb3cu",
            "djIuQmF0Y2hVcGRhdGVFbnRpdHlUeXBlc1JlcXVlc3QaHS5nb29nbGUubG9u",
            "Z3J1bm5pbmcuT3BlcmF0aW9uIt8BgtPkkwKCASI1L3YyL3twYXJlbnQ9cHJv",
            "amVjdHMvKi9hZ2VudH0vZW50aXR5VHlwZXM6YmF0Y2hVcGRhdGU6ASpaRiJB",
            "L3YyL3twYXJlbnQ9cHJvamVjdHMvKi9sb2NhdGlvbnMvKi9hZ2VudH0vZW50",
            "aXR5VHlwZXM6YmF0Y2hVcGRhdGU6ASrKQVMKOWdvb2dsZS5jbG91ZC5kaWFs",
            "b2dmbG93LnYyLkJhdGNoVXBkYXRlRW50aXR5VHlwZXNSZXNwb25zZRIWZ29v",
            "Z2xlLnByb3RvYnVmLlN0cnVjdBLLAgoWQmF0Y2hEZWxldGVFbnRpdHlUeXBl",
            "cxI5Lmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYyLkJhdGNoRGVsZXRlRW50",
            "aXR5VHlwZXNSZXF1ZXN0Gh0uZ29vZ2xlLmxvbmdydW5uaW5nLk9wZXJhdGlv",
            "biLWAYLT5JMCggEiNS92Mi97cGFyZW50PXByb2plY3RzLyovYWdlbnR9L2Vu",
            "dGl0eVR5cGVzOmJhdGNoRGVsZXRlOgEqWkYiQS92Mi97cGFyZW50PXByb2pl",
            "Y3RzLyovbG9jYXRpb25zLyovYWdlbnR9L2VudGl0eVR5cGVzOmJhdGNoRGVs",
            "ZXRlOgEq2kEYcGFyZW50LGVudGl0eV90eXBlX25hbWVzykEvChVnb29nbGUu",
            "cHJvdG9idWYuRW1wdHkSFmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QS8gIKE0Jh",
            "dGNoQ3JlYXRlRW50aXRpZXMSNi5nb29nbGUuY2xvdWQuZGlhbG9nZmxvdy52",
            "Mi5CYXRjaENyZWF0ZUVudGl0aWVzUmVxdWVzdBodLmdvb2dsZS5sb25ncnVu",
            "bmluZy5PcGVyYXRpb24igwKC0+STApgBIkAvdjIve3BhcmVudD1wcm9qZWN0",
            "cy8qL2FnZW50L2VudGl0eVR5cGVzLyp9L2VudGl0aWVzOmJhdGNoQ3JlYXRl",
            "OgEqWlEiTC92Mi97cGFyZW50PXByb2plY3RzLyovbG9jYXRpb25zLyovYWdl",
            "bnQvZW50aXR5VHlwZXMvKn0vZW50aXRpZXM6YmF0Y2hDcmVhdGU6ASraQQ9w",
            "YXJlbnQsZW50aXRpZXPaQR1wYXJlbnQsZW50aXRpZXMsbGFuZ3VhZ2VfY29k",
            "ZcpBLwoVZ29vZ2xlLnByb3RvYnVmLkVtcHR5EhZnb29nbGUucHJvdG9idWYu",
            "U3RydWN0EvICChNCYXRjaFVwZGF0ZUVudGl0aWVzEjYuZ29vZ2xlLmNsb3Vk",
            "LmRpYWxvZ2Zsb3cudjIuQmF0Y2hVcGRhdGVFbnRpdGllc1JlcXVlc3QaHS5n",
            "b29nbGUubG9uZ3J1bm5pbmcuT3BlcmF0aW9uIoMCgtPkkwKYASJAL3YyL3tw",
            "YXJlbnQ9cHJvamVjdHMvKi9hZ2VudC9lbnRpdHlUeXBlcy8qfS9lbnRpdGll",
            "czpiYXRjaFVwZGF0ZToBKlpRIkwvdjIve3BhcmVudD1wcm9qZWN0cy8qL2xv",
            "Y2F0aW9ucy8qL2FnZW50L2VudGl0eVR5cGVzLyp9L2VudGl0aWVzOmJhdGNo",
            "VXBkYXRlOgEq2kEPcGFyZW50LGVudGl0aWVz2kEdcGFyZW50LGVudGl0aWVz",
            "LGxhbmd1YWdlX2NvZGXKQS8KFWdvb2dsZS5wcm90b2J1Zi5FbXB0eRIWZ29v",
            "Z2xlLnByb3RvYnVmLlN0cnVjdBL8AgoTQmF0Y2hEZWxldGVFbnRpdGllcxI2",
            "Lmdvb2dsZS5jbG91ZC5kaWFsb2dmbG93LnYyLkJhdGNoRGVsZXRlRW50aXRp",
            "ZXNSZXF1ZXN0Gh0uZ29vZ2xlLmxvbmdydW5uaW5nLk9wZXJhdGlvbiKNAoLT",
            "5JMCmAEiQC92Mi97cGFyZW50PXByb2plY3RzLyovYWdlbnQvZW50aXR5VHlw",
            "ZXMvKn0vZW50aXRpZXM6YmF0Y2hEZWxldGU6ASpaUSJML3YyL3twYXJlbnQ9",
            "cHJvamVjdHMvKi9sb2NhdGlvbnMvKi9hZ2VudC9lbnRpdHlUeXBlcy8qfS9l",
            "bnRpdGllczpiYXRjaERlbGV0ZToBKtpBFHBhcmVudCxlbnRpdHlfdmFsdWVz",
            "2kEicGFyZW50LGVudGl0eV92YWx1ZXMsbGFuZ3VhZ2VfY29kZcpBLwoVZ29v",
            "Z2xlLnByb3RvYnVmLkVtcHR5EhZnb29nbGUucHJvdG9idWYuU3RydWN0GnjK",
            "QRlkaWFsb2dmbG93Lmdvb2dsZWFwaXMuY29t0kFZaHR0cHM6Ly93d3cuZ29v",
            "Z2xlYXBpcy5jb20vYXV0aC9jbG91ZC1wbGF0Zm9ybSxodHRwczovL3d3dy5n",
            "b29nbGVhcGlzLmNvbS9hdXRoL2RpYWxvZ2Zsb3dCngEKHmNvbS5nb29nbGUu",
            "Y2xvdWQuZGlhbG9nZmxvdy52MkIPRW50aXR5VHlwZVByb3RvUAFaRGdvb2ds",
            "ZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvY2xvdWQvZGlhbG9n",
            "Zmxvdy92MjtkaWFsb2dmbG93+AEBogICREaqAhpHb29nbGUuQ2xvdWQuRGlh",
            "bG9nZmxvdy5WMmIGcHJvdG8z"));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { global::Google.Api.AnnotationsReflection.Descriptor, global::Google.Api.ClientReflection.Descriptor, global::Google.Api.FieldBehaviorReflection.Descriptor, global::Google.Api.ResourceReflection.Descriptor, global::Google.LongRunning.OperationsReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.FieldMaskReflection.Descriptor, },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.EntityType), global::Google.Cloud.Dialogflow.V2.EntityType.Parser, new[]{ "Name", "DisplayName", "Kind", "AutoExpansionMode", "Entities", "EnableFuzzyExtraction" }, null, new[]{ typeof(global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind), typeof(global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode) }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity), global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity.Parser, new[]{ "Value", "Synonyms" }, null, null, null, null)}),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.ListEntityTypesRequest), global::Google.Cloud.Dialogflow.V2.ListEntityTypesRequest.Parser, new[]{ "Parent", "LanguageCode", "PageSize", "PageToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.ListEntityTypesResponse), global::Google.Cloud.Dialogflow.V2.ListEntityTypesResponse.Parser, new[]{ "EntityTypes", "NextPageToken" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.GetEntityTypeRequest), global::Google.Cloud.Dialogflow.V2.GetEntityTypeRequest.Parser, new[]{ "Name", "LanguageCode" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.CreateEntityTypeRequest), global::Google.Cloud.Dialogflow.V2.CreateEntityTypeRequest.Parser, new[]{ "Parent", "EntityType", "LanguageCode" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.UpdateEntityTypeRequest), global::Google.Cloud.Dialogflow.V2.UpdateEntityTypeRequest.Parser, new[]{ "EntityType", "LanguageCode", "UpdateMask" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.DeleteEntityTypeRequest), global::Google.Cloud.Dialogflow.V2.DeleteEntityTypeRequest.Parser, new[]{ "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.BatchUpdateEntityTypesRequest), global::Google.Cloud.Dialogflow.V2.BatchUpdateEntityTypesRequest.Parser, new[]{ "Parent", "EntityTypeBatchUri", "EntityTypeBatchInline", "LanguageCode", "UpdateMask" }, new[]{ "EntityTypeBatch" }, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.BatchUpdateEntityTypesResponse), global::Google.Cloud.Dialogflow.V2.BatchUpdateEntityTypesResponse.Parser, new[]{ "EntityTypes" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.BatchDeleteEntityTypesRequest), global::Google.Cloud.Dialogflow.V2.BatchDeleteEntityTypesRequest.Parser, new[]{ "Parent", "EntityTypeNames" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.BatchCreateEntitiesRequest), global::Google.Cloud.Dialogflow.V2.BatchCreateEntitiesRequest.Parser, new[]{ "Parent", "Entities", "LanguageCode" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.BatchUpdateEntitiesRequest), global::Google.Cloud.Dialogflow.V2.BatchUpdateEntitiesRequest.Parser, new[]{ "Parent", "Entities", "LanguageCode", "UpdateMask" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.BatchDeleteEntitiesRequest), global::Google.Cloud.Dialogflow.V2.BatchDeleteEntitiesRequest.Parser, new[]{ "Parent", "EntityValues", "LanguageCode" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Google.Cloud.Dialogflow.V2.EntityTypeBatch), global::Google.Cloud.Dialogflow.V2.EntityTypeBatch.Parser, new[]{ "EntityTypes" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  ///
  /// Each intent parameter has a type, called the entity type, which dictates
  /// exactly how data from an end-user expression is extracted.
  ///
  /// Dialogflow provides predefined system entities that can match many common
  /// types of data. For example, there are system entities for matching dates,
  /// times, colors, email addresses, and so on. You can also create your own
  /// custom entities for matching custom data. For example, you could define a
  /// vegetable entity that can match the types of vegetables available for
  /// purchase with a grocery store agent.
  ///
  /// For more information, see the
  /// [Entity guide](https://cloud.google.com/dialogflow/docs/entities-overview).
  ///
  public sealed partial class EntityType : pb::IMessage<EntityType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EntityType> _parser = new pb::MessageParser<EntityType>(() => new EntityType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EntityType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EntityType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EntityType(EntityType other) : this() {
      name_ = other.name_;
      displayName_ = other.displayName_;
      kind_ = other.kind_;
      autoExpansionMode_ = other.autoExpansionMode_;
      entities_ = other.entities_.Clone();
      enableFuzzyExtraction_ = other.enableFuzzyExtraction_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EntityType Clone() {
      return new EntityType(this);
    }

    /// Field number for the "name" field.
    public const int NameFieldNumber = 1;
    private string name_ = "";
    ///
    /// The unique identifier of the entity type.
    /// Required for [EntityTypes.UpdateEntityType][google.cloud.dialogflow.v2.EntityTypes.UpdateEntityType] and
    /// [EntityTypes.BatchUpdateEntityTypes][google.cloud.dialogflow.v2.EntityTypes.BatchUpdateEntityTypes] methods.
    /// Format: `projects/{Project ID}/agent/entityTypes/{Entity Type ID}`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "display_name" field.
    public const int DisplayNameFieldNumber = 2;
    private string displayName_ = "";
    ///
    /// Required. The name of the entity type.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DisplayName {
      get { return displayName_; }
      set {
        displayName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "kind" field.
    public const int KindFieldNumber = 3;
    private global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind kind_ = global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind.Unspecified;
    ///
    /// Required. Indicates the kind of entity type.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind Kind {
      get { return kind_; }
      set {
        kind_ = value;
      }
    }

    /// Field number for the "auto_expansion_mode" field.
    public const int AutoExpansionModeFieldNumber = 4;
    private global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode autoExpansionMode_ = global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode.Unspecified;
    ///
    /// Optional. Indicates whether the entity type can be automatically
    /// expanded.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode AutoExpansionMode {
      get { return autoExpansionMode_; }
      set {
        autoExpansionMode_ = value;
      }
    }

    /// Field number for the "entities" field.
    public const int EntitiesFieldNumber = 6;
    private static readonly pb::FieldCodec<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> _repeated_entities_codec
        = pb::FieldCodec.ForMessage(50, global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity.Parser);
    private readonly pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> entities_ = new pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity>();
    ///
    /// Optional. The collection of entity entries associated with the entity type.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> Entities {
      get { return entities_; }
    }

    /// Field number for the "enable_fuzzy_extraction" field.
    public const int EnableFuzzyExtractionFieldNumber = 7;
    private bool enableFuzzyExtraction_;
    ///
    /// Optional. Enables fuzzy entity extraction during classification.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool EnableFuzzyExtraction {
      get { return enableFuzzyExtraction_; }
      set {
        enableFuzzyExtraction_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EntityType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EntityType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (DisplayName != other.DisplayName) return false;
      if (Kind != other.Kind) return false;
      if (AutoExpansionMode != other.AutoExpansionMode) return false;
      if(!entities_.Equals(other.entities_)) return false;
      if (EnableFuzzyExtraction != other.EnableFuzzyExtraction) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (DisplayName.Length != 0) hash ^= DisplayName.GetHashCode();
      if (Kind != global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind.Unspecified) hash ^= Kind.GetHashCode();
      if (AutoExpansionMode != global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode.Unspecified) hash ^= AutoExpansionMode.GetHashCode();
      hash ^= entities_.GetHashCode();
      if (EnableFuzzyExtraction != false) hash ^= EnableFuzzyExtraction.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DisplayName);
      }
      if (Kind != global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) Kind);
      }
      if (AutoExpansionMode != global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode.Unspecified) {
        output.WriteRawTag(32);
        output.WriteEnum((int) AutoExpansionMode);
      }
      entities_.WriteTo(output, _repeated_entities_codec);
      if (EnableFuzzyExtraction != false) {
        output.WriteRawTag(56);
        output.WriteBool(EnableFuzzyExtraction);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (DisplayName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DisplayName);
      }
      if (Kind != global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind.Unspecified) {
        output.WriteRawTag(24);
        output.WriteEnum((int) Kind);
      }
      if (AutoExpansionMode != global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode.Unspecified) {
        output.WriteRawTag(32);
        output.WriteEnum((int) AutoExpansionMode);
      }
      entities_.WriteTo(ref output, _repeated_entities_codec);
      if (EnableFuzzyExtraction != false) {
        output.WriteRawTag(56);
        output.WriteBool(EnableFuzzyExtraction);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (DisplayName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DisplayName);
      }
      if (Kind != global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) Kind);
      }
      if (AutoExpansionMode != global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode.Unspecified) {
        size += 1 + pb::CodedOutputStream.ComputeEnumSize((int) AutoExpansionMode);
      }
      size += entities_.CalculateSize(_repeated_entities_codec);
      if (EnableFuzzyExtraction != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EntityType other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.DisplayName.Length != 0) {
        DisplayName = other.DisplayName;
      }
      if (other.Kind != global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind.Unspecified) {
        Kind = other.Kind;
      }
      if (other.AutoExpansionMode != global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode.Unspecified) {
        AutoExpansionMode = other.AutoExpansionMode;
      }
      entities_.Add(other.entities_);
      if (other.EnableFuzzyExtraction != false) {
        EnableFuzzyExtraction = other.EnableFuzzyExtraction;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            DisplayName = input.ReadString();
            break;
          }
          case 24: {
            Kind = (global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind) input.ReadEnum();
            break;
          }
          case 32: {
            AutoExpansionMode = (global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode) input.ReadEnum();
            break;
          }
          case 50: {
            entities_.AddEntriesFrom(input, _repeated_entities_codec);
            break;
          }
          case 56: {
            EnableFuzzyExtraction = input.ReadBool();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            DisplayName = input.ReadString();
            break;
          }
          case 24: {
            Kind = (global::Google.Cloud.Dialogflow.V2.EntityType.Types.Kind) input.ReadEnum();
            break;
          }
          case 32: {
            AutoExpansionMode = (global::Google.Cloud.Dialogflow.V2.EntityType.Types.AutoExpansionMode) input.ReadEnum();
            break;
          }
          case 50: {
            entities_.AddEntriesFrom(ref input, _repeated_entities_codec);
            break;
          }
          case 56: {
            EnableFuzzyExtraction = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

    #region Nested types
    /// Container for nested types declared in the EntityType message type.
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static partial class Types {
      ///
      /// Represents kinds of entities.
      ///
      public enum Kind {
        ///
        /// Not specified. This value should be never used.
        ///
        [pbr::OriginalName("KIND_UNSPECIFIED")] Unspecified = 0,
        ///
        /// Map entity types allow mapping of a group of synonyms to a reference
        /// value.
        ///
        [pbr::OriginalName("KIND_MAP")] Map = 1,
        ///
        /// List entity types contain a set of entries that do not map to reference
        /// values. However, list entity types can contain references to other entity
        /// types (with or without aliases).
        ///
        [pbr::OriginalName("KIND_LIST")] List = 2,
        ///
        /// Regexp entity types allow to specify regular expressions in entries
        /// values.
        ///
        [pbr::OriginalName("KIND_REGEXP")] Regexp = 3,
      }

      ///
      /// Represents different entity type expansion modes. Automated expansion
      /// allows an agent to recognize values that have not been explicitly listed in
      /// the entity (for example, new kinds of shopping list items).
      ///
      public enum AutoExpansionMode {
        ///
        /// Auto expansion disabled for the entity.
        ///
        [pbr::OriginalName("AUTO_EXPANSION_MODE_UNSPECIFIED")] Unspecified = 0,
        ///
        /// Allows an agent to recognize values that have not been explicitly
        /// listed in the entity.
        ///
        [pbr::OriginalName("AUTO_EXPANSION_MODE_DEFAULT")] Default = 1,
      }

      ///
      /// An **entity entry** for an associated entity type.
      ///
      public sealed partial class Entity : pb::IMessage<Entity>
      #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
          , pb::IBufferMessage
      #endif
      {
        private static readonly pb::MessageParser<Entity> _parser = new pb::MessageParser<Entity>(() => new Entity());
        private pb::UnknownFieldSet _unknownFields;
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public static pb::MessageParser<Entity> Parser { get { return _parser; } }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public static pbr::MessageDescriptor Descriptor {
          get { return global::Google.Cloud.Dialogflow.V2.EntityType.Descriptor.NestedTypes[0]; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        pbr::MessageDescriptor pb::IMessage.Descriptor {
          get { return Descriptor; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public Entity() {
          OnConstruction();
        }

        partial void OnConstruction();

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public Entity(Entity other) : this() {
          value_ = other.value_;
          synonyms_ = other.synonyms_.Clone();
          _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public Entity Clone() {
          return new Entity(this);
        }

        /// Field number for the "value" field.
        public const int ValueFieldNumber = 1;
        private string value_ = "";
        ///
        /// Required. The primary value associated with this entity entry.
        /// For example, if the entity type is *vegetable*, the value could be
        /// *scallions*.
        ///
        /// For `KIND_MAP` entity types:
        ///
        /// *   A reference value to be used in place of synonyms.
        ///
        /// For `KIND_LIST` entity types:
        ///
        /// *   A string that can contain references to other entity types (with or
        ///     without aliases).
        ///
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public string Value {
          get { return value_; }
          set {
            value_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
          }
        }

        /// Field number for the "synonyms" field.
        public const int SynonymsFieldNumber = 2;
        private static readonly pb::FieldCodec<string> _repeated_synonyms_codec
            = pb::FieldCodec.ForString(18);
        private readonly pbc::RepeatedField<string> synonyms_ = new pbc::RepeatedField<string>();
        ///
        /// Required. A collection of value synonyms. For example, if the entity type
        /// is *vegetable*, and `value` is *scallions*, a synonym could be *green
        /// onions*.
        ///
        /// For `KIND_LIST` entity types:
        ///
        /// *   This collection must contain exactly one synonym equal to `value`.
        ///
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public pbc::RepeatedField<string> Synonyms {
          get { return synonyms_; }
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public override bool Equals(object other) {
          return Equals(other as Entity);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public bool Equals(Entity other) {
          if (ReferenceEquals(other, null)) {
            return false;
          }
          if (ReferenceEquals(other, this)) {
            return true;
          }
          if (Value != other.Value) return false;
          if(!synonyms_.Equals(other.synonyms_)) return false;
          return Equals(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public override int GetHashCode() {
          int hash = 1;
          if (Value.Length != 0) hash ^= Value.GetHashCode();
          hash ^= synonyms_.GetHashCode();
          if (_unknownFields != null) {
            hash ^= _unknownFields.GetHashCode();
          }
          return hash;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public override string ToString() {
          return pb::JsonFormatter.ToDiagnosticString(this);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public void WriteTo(pb::CodedOutputStream output) {
        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
          output.WriteRawMessage(this);
        #else
          if (Value.Length != 0) {
            output.WriteRawTag(10);
            output.WriteString(Value);
          }
          synonyms_.WriteTo(output, _repeated_synonyms_codec);
          if (_unknownFields != null) {
            _unknownFields.WriteTo(output);
          }
        #endif
        }

        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
          if (Value.Length != 0) {
            output.WriteRawTag(10);
            output.WriteString(Value);
          }
          synonyms_.WriteTo(ref output, _repeated_synonyms_codec);
          if (_unknownFields != null) {
            _unknownFields.WriteTo(ref output);
          }
        }
        #endif

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public int CalculateSize() {
          int size = 0;
          if (Value.Length != 0) {
            size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
          }
          size += synonyms_.CalculateSize(_repeated_synonyms_codec);
          if (_unknownFields != null) {
            size += _unknownFields.CalculateSize();
          }
          return size;
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public void MergeFrom(Entity other) {
          if (other == null) {
            return;
          }
          if (other.Value.Length != 0) {
            Value = other.Value;
          }
          synonyms_.Add(other.synonyms_);
          _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
        }

        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        public void MergeFrom(pb::CodedInputStream input) {
        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
          input.ReadRawMessage(this);
        #else
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
                break;
              case 10: {
                Value = input.ReadString();
                break;
              }
              case 18: {
                synonyms_.AddEntriesFrom(input, _repeated_synonyms_codec);
                break;
              }
            }
          }
        #endif
        }

        #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
        [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
        [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
        void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
          uint tag;
          while ((tag = input.ReadTag()) != 0) {
            switch(tag) {
              default:
                _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
                break;
              case 10: {
                Value = input.ReadString();
                break;
              }
              case 18: {
                synonyms_.AddEntriesFrom(ref input, _repeated_synonyms_codec);
                break;
              }
            }
          }
        }
        #endif

      }

    }
    #endregion

  }

  ///
  /// The request message for [EntityTypes.ListEntityTypes][google.cloud.dialogflow.v2.EntityTypes.ListEntityTypes].
  ///
  public sealed partial class ListEntityTypesRequest : pb::IMessage<ListEntityTypesRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ListEntityTypesRequest> _parser = new pb::MessageParser<ListEntityTypesRequest>(() => new ListEntityTypesRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ListEntityTypesRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListEntityTypesRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListEntityTypesRequest(ListEntityTypesRequest other) : this() {
      parent_ = other.parent_;
      languageCode_ = other.languageCode_;
      pageSize_ = other.pageSize_;
      pageToken_ = other.pageToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListEntityTypesRequest Clone() {
      return new ListEntityTypesRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The agent to list all entity types from.
    /// Format: `projects/{Project ID}/agent`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 2;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "page_size" field.
    public const int PageSizeFieldNumber = 3;
    private int pageSize_;
    ///
    /// Optional. The maximum number of items to return in a single page. By
    /// default 100 and at most 1000.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PageSize {
      get { return pageSize_; }
      set {
        pageSize_ = value;
      }
    }

    /// Field number for the "page_token" field.
    public const int PageTokenFieldNumber = 4;
    private string pageToken_ = "";
    ///
    /// Optional. The next_page_token value returned from a previous list request.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PageToken {
      get { return pageToken_; }
      set {
        pageToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ListEntityTypesRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ListEntityTypesRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if (LanguageCode != other.LanguageCode) return false;
      if (PageSize != other.PageSize) return false;
      if (PageToken != other.PageToken) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (PageSize != 0) hash ^= PageSize.GetHashCode();
      if (PageToken.Length != 0) hash ^= PageToken.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LanguageCode);
      }
      if (PageSize != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PageSize);
      }
      if (PageToken.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(PageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LanguageCode);
      }
      if (PageSize != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PageSize);
      }
      if (PageToken.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(PageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (PageSize != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PageSize);
      }
      if (PageToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PageToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ListEntityTypesRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      if (other.PageSize != 0) {
        PageSize = other.PageSize;
      }
      if (other.PageToken.Length != 0) {
        PageToken = other.PageToken;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            LanguageCode = input.ReadString();
            break;
          }
          case 24: {
            PageSize = input.ReadInt32();
            break;
          }
          case 34: {
            PageToken = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            LanguageCode = input.ReadString();
            break;
          }
          case 24: {
            PageSize = input.ReadInt32();
            break;
          }
          case 34: {
            PageToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The response message for [EntityTypes.ListEntityTypes][google.cloud.dialogflow.v2.EntityTypes.ListEntityTypes].
  ///
  public sealed partial class ListEntityTypesResponse : pb::IMessage<ListEntityTypesResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ListEntityTypesResponse> _parser = new pb::MessageParser<ListEntityTypesResponse>(() => new ListEntityTypesResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ListEntityTypesResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListEntityTypesResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListEntityTypesResponse(ListEntityTypesResponse other) : this() {
      entityTypes_ = other.entityTypes_.Clone();
      nextPageToken_ = other.nextPageToken_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ListEntityTypesResponse Clone() {
      return new ListEntityTypesResponse(this);
    }

    /// Field number for the "entity_types" field.
    public const int EntityTypesFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Google.Cloud.Dialogflow.V2.EntityType> _repeated_entityTypes_codec
        = pb::FieldCodec.ForMessage(10, global::Google.Cloud.Dialogflow.V2.EntityType.Parser);
    private readonly pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType> entityTypes_ = new pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType>();
    ///
    /// The list of agent entity types. There will be a maximum number of items
    /// returned based on the page_size field in the request.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType> EntityTypes {
      get { return entityTypes_; }
    }

    /// Field number for the "next_page_token" field.
    public const int NextPageTokenFieldNumber = 2;
    private string nextPageToken_ = "";
    ///
    /// Token to retrieve the next page of results, or empty if there are no
    /// more results in the list.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NextPageToken {
      get { return nextPageToken_; }
      set {
        nextPageToken_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ListEntityTypesResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ListEntityTypesResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!entityTypes_.Equals(other.entityTypes_)) return false;
      if (NextPageToken != other.NextPageToken) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= entityTypes_.GetHashCode();
      if (NextPageToken.Length != 0) hash ^= NextPageToken.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      entityTypes_.WriteTo(output, _repeated_entityTypes_codec);
      if (NextPageToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NextPageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      entityTypes_.WriteTo(ref output, _repeated_entityTypes_codec);
      if (NextPageToken.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NextPageToken);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += entityTypes_.CalculateSize(_repeated_entityTypes_codec);
      if (NextPageToken.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NextPageToken);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ListEntityTypesResponse other) {
      if (other == null) {
        return;
      }
      entityTypes_.Add(other.entityTypes_);
      if (other.NextPageToken.Length != 0) {
        NextPageToken = other.NextPageToken;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            entityTypes_.AddEntriesFrom(input, _repeated_entityTypes_codec);
            break;
          }
          case 18: {
            NextPageToken = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            entityTypes_.AddEntriesFrom(ref input, _repeated_entityTypes_codec);
            break;
          }
          case 18: {
            NextPageToken = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.GetEntityType][google.cloud.dialogflow.v2.EntityTypes.GetEntityType].
  ///
  public sealed partial class GetEntityTypeRequest : pb::IMessage<GetEntityTypeRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GetEntityTypeRequest> _parser = new pb::MessageParser<GetEntityTypeRequest>(() => new GetEntityTypeRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GetEntityTypeRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetEntityTypeRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetEntityTypeRequest(GetEntityTypeRequest other) : this() {
      name_ = other.name_;
      languageCode_ = other.languageCode_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GetEntityTypeRequest Clone() {
      return new GetEntityTypeRequest(this);
    }

    /// Field number for the "name" field.
    public const int NameFieldNumber = 1;
    private string name_ = "";
    ///
    /// Required. The name of the entity type.
    /// Format: `projects/{Project ID}/agent/entityTypes/{EntityType ID}`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 2;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GetEntityTypeRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GetEntityTypeRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      if (LanguageCode != other.LanguageCode) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GetEntityTypeRequest other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
          case 18: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.CreateEntityType][google.cloud.dialogflow.v2.EntityTypes.CreateEntityType].
  ///
  public sealed partial class CreateEntityTypeRequest : pb::IMessage<CreateEntityTypeRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CreateEntityTypeRequest> _parser = new pb::MessageParser<CreateEntityTypeRequest>(() => new CreateEntityTypeRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CreateEntityTypeRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateEntityTypeRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateEntityTypeRequest(CreateEntityTypeRequest other) : this() {
      parent_ = other.parent_;
      entityType_ = other.entityType_ != null ? other.entityType_.Clone() : null;
      languageCode_ = other.languageCode_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CreateEntityTypeRequest Clone() {
      return new CreateEntityTypeRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The agent to create a entity type for.
    /// Format: `projects/{Project ID}/agent`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "entity_type" field.
    public const int EntityTypeFieldNumber = 2;
    private global::Google.Cloud.Dialogflow.V2.EntityType entityType_;
    ///
    /// Required. The entity type to create.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Cloud.Dialogflow.V2.EntityType EntityType {
      get { return entityType_; }
      set {
        entityType_ = value;
      }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 3;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CreateEntityTypeRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CreateEntityTypeRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if (!object.Equals(EntityType, other.EntityType)) return false;
      if (LanguageCode != other.LanguageCode) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      if (entityType_ != null) hash ^= EntityType.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (entityType_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(EntityType);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (entityType_ != null) {
        output.WriteRawTag(18);
        output.WriteMessage(EntityType);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      if (entityType_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EntityType);
      }
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CreateEntityTypeRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      if (other.entityType_ != null) {
        if (entityType_ == null) {
          EntityType = new global::Google.Cloud.Dialogflow.V2.EntityType();
        }
        EntityType.MergeFrom(other.EntityType);
      }
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            if (entityType_ == null) {
              EntityType = new global::Google.Cloud.Dialogflow.V2.EntityType();
            }
            input.ReadMessage(EntityType);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            if (entityType_ == null) {
              EntityType = new global::Google.Cloud.Dialogflow.V2.EntityType();
            }
            input.ReadMessage(EntityType);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.UpdateEntityType][google.cloud.dialogflow.v2.EntityTypes.UpdateEntityType].
  ///
  public sealed partial class UpdateEntityTypeRequest : pb::IMessage<UpdateEntityTypeRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UpdateEntityTypeRequest> _parser = new pb::MessageParser<UpdateEntityTypeRequest>(() => new UpdateEntityTypeRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UpdateEntityTypeRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateEntityTypeRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateEntityTypeRequest(UpdateEntityTypeRequest other) : this() {
      entityType_ = other.entityType_ != null ? other.entityType_.Clone() : null;
      languageCode_ = other.languageCode_;
      updateMask_ = other.updateMask_ != null ? other.updateMask_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UpdateEntityTypeRequest Clone() {
      return new UpdateEntityTypeRequest(this);
    }

    /// Field number for the "entity_type" field.
    public const int EntityTypeFieldNumber = 1;
    private global::Google.Cloud.Dialogflow.V2.EntityType entityType_;
    ///
    /// Required. The entity type to update.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Cloud.Dialogflow.V2.EntityType EntityType {
      get { return entityType_; }
      set {
        entityType_ = value;
      }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 2;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "update_mask" field.
    public const int UpdateMaskFieldNumber = 3;
    private global::Google.Protobuf.WellKnownTypes.FieldMask updateMask_;
    ///
    /// Optional. The mask to control which fields get updated.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.FieldMask UpdateMask {
      get { return updateMask_; }
      set {
        updateMask_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as UpdateEntityTypeRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UpdateEntityTypeRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (!object.Equals(EntityType, other.EntityType)) return false;
      if (LanguageCode != other.LanguageCode) return false;
      if (!object.Equals(UpdateMask, other.UpdateMask)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (entityType_ != null) hash ^= EntityType.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (updateMask_ != null) hash ^= UpdateMask.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (entityType_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(EntityType);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LanguageCode);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (entityType_ != null) {
        output.WriteRawTag(10);
        output.WriteMessage(EntityType);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(LanguageCode);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(26);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (entityType_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EntityType);
      }
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (updateMask_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UpdateMask);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UpdateEntityTypeRequest other) {
      if (other == null) {
        return;
      }
      if (other.entityType_ != null) {
        if (entityType_ == null) {
          EntityType = new global::Google.Cloud.Dialogflow.V2.EntityType();
        }
        EntityType.MergeFrom(other.EntityType);
      }
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      if (other.updateMask_ != null) {
        if (updateMask_ == null) {
          UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
        }
        UpdateMask.MergeFrom(other.UpdateMask);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            if (entityType_ == null) {
              EntityType = new global::Google.Cloud.Dialogflow.V2.EntityType();
            }
            input.ReadMessage(EntityType);
            break;
          }
          case 18: {
            LanguageCode = input.ReadString();
            break;
          }
          case 26: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            if (entityType_ == null) {
              EntityType = new global::Google.Cloud.Dialogflow.V2.EntityType();
            }
            input.ReadMessage(EntityType);
            break;
          }
          case 18: {
            LanguageCode = input.ReadString();
            break;
          }
          case 26: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.DeleteEntityType][google.cloud.dialogflow.v2.EntityTypes.DeleteEntityType].
  ///
  public sealed partial class DeleteEntityTypeRequest : pb::IMessage<DeleteEntityTypeRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DeleteEntityTypeRequest> _parser = new pb::MessageParser<DeleteEntityTypeRequest>(() => new DeleteEntityTypeRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DeleteEntityTypeRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteEntityTypeRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteEntityTypeRequest(DeleteEntityTypeRequest other) : this() {
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DeleteEntityTypeRequest Clone() {
      return new DeleteEntityTypeRequest(this);
    }

    /// Field number for the "name" field.
    public const int NameFieldNumber = 1;
    private string name_ = "";
    ///
    /// Required. The name of the entity type to delete.
    /// Format: `projects/{Project ID}/agent/entityTypes/{EntityType ID}`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DeleteEntityTypeRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DeleteEntityTypeRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Name != other.Name) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Name.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Name);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DeleteEntityTypeRequest other) {
      if (other == null) {
        return;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.BatchUpdateEntityTypes][google.cloud.dialogflow.v2.EntityTypes.BatchUpdateEntityTypes].
  ///
  public sealed partial class BatchUpdateEntityTypesRequest : pb::IMessage<BatchUpdateEntityTypesRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<BatchUpdateEntityTypesRequest> _parser = new pb::MessageParser<BatchUpdateEntityTypesRequest>(() => new BatchUpdateEntityTypesRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<BatchUpdateEntityTypesRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[7]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntityTypesRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntityTypesRequest(BatchUpdateEntityTypesRequest other) : this() {
      parent_ = other.parent_;
      languageCode_ = other.languageCode_;
      updateMask_ = other.updateMask_ != null ? other.updateMask_.Clone() : null;
      switch (other.EntityTypeBatchCase) {
        case EntityTypeBatchOneofCase.EntityTypeBatchUri:
          EntityTypeBatchUri = other.EntityTypeBatchUri;
          break;
        case EntityTypeBatchOneofCase.EntityTypeBatchInline:
          EntityTypeBatchInline = other.EntityTypeBatchInline.Clone();
          break;
      }

      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntityTypesRequest Clone() {
      return new BatchUpdateEntityTypesRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The name of the agent to update or create entity types in.
    /// Format: `projects/{Project ID}/agent`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "entity_type_batch_uri" field.
    public const int EntityTypeBatchUriFieldNumber = 2;
    ///
    /// The URI to a Google Cloud Storage file containing entity types to update
    /// or create. The file format can either be a serialized proto (of
    /// EntityBatch type) or a JSON object. Note: The URI must start with
    /// "gs://".
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EntityTypeBatchUri {
      get { return entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchUri ? (string) entityTypeBatch_ : ""; }
      set {
        entityTypeBatch_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
        entityTypeBatchCase_ = EntityTypeBatchOneofCase.EntityTypeBatchUri;
      }
    }

    /// Field number for the "entity_type_batch_inline" field.
    public const int EntityTypeBatchInlineFieldNumber = 3;
    ///
    /// The collection of entity types to update or create.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Cloud.Dialogflow.V2.EntityTypeBatch EntityTypeBatchInline {
      get { return entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchInline ? (global::Google.Cloud.Dialogflow.V2.EntityTypeBatch) entityTypeBatch_ : null; }
      set {
        entityTypeBatch_ = value;
        entityTypeBatchCase_ = value == null ? EntityTypeBatchOneofCase.None : EntityTypeBatchOneofCase.EntityTypeBatchInline;
      }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 4;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "update_mask" field.
    public const int UpdateMaskFieldNumber = 5;
    private global::Google.Protobuf.WellKnownTypes.FieldMask updateMask_;
    ///
    /// Optional. The mask to control which fields get updated.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.FieldMask UpdateMask {
      get { return updateMask_; }
      set {
        updateMask_ = value;
      }
    }

    private object entityTypeBatch_;
    /// Enum of possible cases for the "entity_type_batch" oneof.
    public enum EntityTypeBatchOneofCase {
      None = 0,
      EntityTypeBatchUri = 2,
      EntityTypeBatchInline = 3,
    }
    private EntityTypeBatchOneofCase entityTypeBatchCase_ = EntityTypeBatchOneofCase.None;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EntityTypeBatchOneofCase EntityTypeBatchCase {
      get { return entityTypeBatchCase_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void ClearEntityTypeBatch() {
      entityTypeBatchCase_ = EntityTypeBatchOneofCase.None;
      entityTypeBatch_ = null;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as BatchUpdateEntityTypesRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BatchUpdateEntityTypesRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if (EntityTypeBatchUri != other.EntityTypeBatchUri) return false;
      if (!object.Equals(EntityTypeBatchInline, other.EntityTypeBatchInline)) return false;
      if (LanguageCode != other.LanguageCode) return false;
      if (!object.Equals(UpdateMask, other.UpdateMask)) return false;
      if (EntityTypeBatchCase != other.EntityTypeBatchCase) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchUri) hash ^= EntityTypeBatchUri.GetHashCode();
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchInline) hash ^= EntityTypeBatchInline.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (updateMask_ != null) hash ^= UpdateMask.GetHashCode();
      hash ^= (int) entityTypeBatchCase_;
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchUri) {
        output.WriteRawTag(18);
        output.WriteString(EntityTypeBatchUri);
      }
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchInline) {
        output.WriteRawTag(26);
        output.WriteMessage(EntityTypeBatchInline);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(LanguageCode);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchUri) {
        output.WriteRawTag(18);
        output.WriteString(EntityTypeBatchUri);
      }
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchInline) {
        output.WriteRawTag(26);
        output.WriteMessage(EntityTypeBatchInline);
      }
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(LanguageCode);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(42);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchUri) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EntityTypeBatchUri);
      }
      if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchInline) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(EntityTypeBatchInline);
      }
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (updateMask_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UpdateMask);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BatchUpdateEntityTypesRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      if (other.updateMask_ != null) {
        if (updateMask_ == null) {
          UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
        }
        UpdateMask.MergeFrom(other.UpdateMask);
      }
      switch (other.EntityTypeBatchCase) {
        case EntityTypeBatchOneofCase.EntityTypeBatchUri:
          EntityTypeBatchUri = other.EntityTypeBatchUri;
          break;
        case EntityTypeBatchOneofCase.EntityTypeBatchInline:
          if (EntityTypeBatchInline == null) {
            EntityTypeBatchInline = new global::Google.Cloud.Dialogflow.V2.EntityTypeBatch();
          }
          EntityTypeBatchInline.MergeFrom(other.EntityTypeBatchInline);
          break;
      }

      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            EntityTypeBatchUri = input.ReadString();
            break;
          }
          case 26: {
            global::Google.Cloud.Dialogflow.V2.EntityTypeBatch subBuilder = new global::Google.Cloud.Dialogflow.V2.EntityTypeBatch();
            if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchInline) {
              subBuilder.MergeFrom(EntityTypeBatchInline);
            }
            input.ReadMessage(subBuilder);
            EntityTypeBatchInline = subBuilder;
            break;
          }
          case 34: {
            LanguageCode = input.ReadString();
            break;
          }
          case 42: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            EntityTypeBatchUri = input.ReadString();
            break;
          }
          case 26: {
            global::Google.Cloud.Dialogflow.V2.EntityTypeBatch subBuilder = new global::Google.Cloud.Dialogflow.V2.EntityTypeBatch();
            if (entityTypeBatchCase_ == EntityTypeBatchOneofCase.EntityTypeBatchInline) {
              subBuilder.MergeFrom(EntityTypeBatchInline);
            }
            input.ReadMessage(subBuilder);
            EntityTypeBatchInline = subBuilder;
            break;
          }
          case 34: {
            LanguageCode = input.ReadString();
            break;
          }
          case 42: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The response message for [EntityTypes.BatchUpdateEntityTypes][google.cloud.dialogflow.v2.EntityTypes.BatchUpdateEntityTypes].
  ///
  public sealed partial class BatchUpdateEntityTypesResponse : pb::IMessage<BatchUpdateEntityTypesResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<BatchUpdateEntityTypesResponse> _parser = new pb::MessageParser<BatchUpdateEntityTypesResponse>(() => new BatchUpdateEntityTypesResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<BatchUpdateEntityTypesResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[8]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntityTypesResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntityTypesResponse(BatchUpdateEntityTypesResponse other) : this() {
      entityTypes_ = other.entityTypes_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntityTypesResponse Clone() {
      return new BatchUpdateEntityTypesResponse(this);
    }

    /// Field number for the "entity_types" field.
    public const int EntityTypesFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Google.Cloud.Dialogflow.V2.EntityType> _repeated_entityTypes_codec
        = pb::FieldCodec.ForMessage(10, global::Google.Cloud.Dialogflow.V2.EntityType.Parser);
    private readonly pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType> entityTypes_ = new pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType>();
    ///
    /// The collection of updated or created entity types.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType> EntityTypes {
      get { return entityTypes_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as BatchUpdateEntityTypesResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BatchUpdateEntityTypesResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!entityTypes_.Equals(other.entityTypes_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= entityTypes_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      entityTypes_.WriteTo(output, _repeated_entityTypes_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      entityTypes_.WriteTo(ref output, _repeated_entityTypes_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += entityTypes_.CalculateSize(_repeated_entityTypes_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BatchUpdateEntityTypesResponse other) {
      if (other == null) {
        return;
      }
      entityTypes_.Add(other.entityTypes_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            entityTypes_.AddEntriesFrom(input, _repeated_entityTypes_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            entityTypes_.AddEntriesFrom(ref input, _repeated_entityTypes_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.BatchDeleteEntityTypes][google.cloud.dialogflow.v2.EntityTypes.BatchDeleteEntityTypes].
  ///
  public sealed partial class BatchDeleteEntityTypesRequest : pb::IMessage<BatchDeleteEntityTypesRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<BatchDeleteEntityTypesRequest> _parser = new pb::MessageParser<BatchDeleteEntityTypesRequest>(() => new BatchDeleteEntityTypesRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<BatchDeleteEntityTypesRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[9]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchDeleteEntityTypesRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchDeleteEntityTypesRequest(BatchDeleteEntityTypesRequest other) : this() {
      parent_ = other.parent_;
      entityTypeNames_ = other.entityTypeNames_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchDeleteEntityTypesRequest Clone() {
      return new BatchDeleteEntityTypesRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The name of the agent to delete all entities types for. Format:
    /// `projects/{Project ID}/agent`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "entity_type_names" field.
    public const int EntityTypeNamesFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_entityTypeNames_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> entityTypeNames_ = new pbc::RepeatedField<string>();
    ///
    /// Required. The names entity types to delete. All names must point to the
    /// same agent as `parent`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> EntityTypeNames {
      get { return entityTypeNames_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as BatchDeleteEntityTypesRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BatchDeleteEntityTypesRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if(!entityTypeNames_.Equals(other.entityTypeNames_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      hash ^= entityTypeNames_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entityTypeNames_.WriteTo(output, _repeated_entityTypeNames_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entityTypeNames_.WriteTo(ref output, _repeated_entityTypeNames_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      size += entityTypeNames_.CalculateSize(_repeated_entityTypeNames_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BatchDeleteEntityTypesRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      entityTypeNames_.Add(other.entityTypeNames_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entityTypeNames_.AddEntriesFrom(input, _repeated_entityTypeNames_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entityTypeNames_.AddEntriesFrom(ref input, _repeated_entityTypeNames_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.BatchCreateEntities][google.cloud.dialogflow.v2.EntityTypes.BatchCreateEntities].
  ///
  public sealed partial class BatchCreateEntitiesRequest : pb::IMessage<BatchCreateEntitiesRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<BatchCreateEntitiesRequest> _parser = new pb::MessageParser<BatchCreateEntitiesRequest>(() => new BatchCreateEntitiesRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<BatchCreateEntitiesRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[10]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchCreateEntitiesRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchCreateEntitiesRequest(BatchCreateEntitiesRequest other) : this() {
      parent_ = other.parent_;
      entities_ = other.entities_.Clone();
      languageCode_ = other.languageCode_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchCreateEntitiesRequest Clone() {
      return new BatchCreateEntitiesRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The name of the entity type to create entities in. Format:
    /// `projects/{Project ID}/agent/entityTypes/{Entity Type ID}`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "entities" field.
    public const int EntitiesFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> _repeated_entities_codec
        = pb::FieldCodec.ForMessage(18, global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity.Parser);
    private readonly pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> entities_ = new pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity>();
    ///
    /// Required. The entities to create.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> Entities {
      get { return entities_; }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 3;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as BatchCreateEntitiesRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BatchCreateEntitiesRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if(!entities_.Equals(other.entities_)) return false;
      if (LanguageCode != other.LanguageCode) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      hash ^= entities_.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entities_.WriteTo(output, _repeated_entities_codec);
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entities_.WriteTo(ref output, _repeated_entities_codec);
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      size += entities_.CalculateSize(_repeated_entities_codec);
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BatchCreateEntitiesRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      entities_.Add(other.entities_);
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entities_.AddEntriesFrom(input, _repeated_entities_codec);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entities_.AddEntriesFrom(ref input, _repeated_entities_codec);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.BatchUpdateEntities][google.cloud.dialogflow.v2.EntityTypes.BatchUpdateEntities].
  ///
  public sealed partial class BatchUpdateEntitiesRequest : pb::IMessage<BatchUpdateEntitiesRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<BatchUpdateEntitiesRequest> _parser = new pb::MessageParser<BatchUpdateEntitiesRequest>(() => new BatchUpdateEntitiesRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<BatchUpdateEntitiesRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[11]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntitiesRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntitiesRequest(BatchUpdateEntitiesRequest other) : this() {
      parent_ = other.parent_;
      entities_ = other.entities_.Clone();
      languageCode_ = other.languageCode_;
      updateMask_ = other.updateMask_ != null ? other.updateMask_.Clone() : null;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchUpdateEntitiesRequest Clone() {
      return new BatchUpdateEntitiesRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The name of the entity type to update or create entities in.
    /// Format: `projects/{Project ID}/agent/entityTypes/{Entity Type ID}`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "entities" field.
    public const int EntitiesFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> _repeated_entities_codec
        = pb::FieldCodec.ForMessage(18, global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity.Parser);
    private readonly pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> entities_ = new pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity>();
    ///
    /// Required. The entities to update or create.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType.Types.Entity> Entities {
      get { return entities_; }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 3;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "update_mask" field.
    public const int UpdateMaskFieldNumber = 4;
    private global::Google.Protobuf.WellKnownTypes.FieldMask updateMask_;
    ///
    /// Optional. The mask to control which fields get updated.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public global::Google.Protobuf.WellKnownTypes.FieldMask UpdateMask {
      get { return updateMask_; }
      set {
        updateMask_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as BatchUpdateEntitiesRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BatchUpdateEntitiesRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if(!entities_.Equals(other.entities_)) return false;
      if (LanguageCode != other.LanguageCode) return false;
      if (!object.Equals(UpdateMask, other.UpdateMask)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      hash ^= entities_.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (updateMask_ != null) hash ^= UpdateMask.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entities_.WriteTo(output, _repeated_entities_codec);
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entities_.WriteTo(ref output, _repeated_entities_codec);
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (updateMask_ != null) {
        output.WriteRawTag(34);
        output.WriteMessage(UpdateMask);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      size += entities_.CalculateSize(_repeated_entities_codec);
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (updateMask_ != null) {
        size += 1 + pb::CodedOutputStream.ComputeMessageSize(UpdateMask);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BatchUpdateEntitiesRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      entities_.Add(other.entities_);
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      if (other.updateMask_ != null) {
        if (updateMask_ == null) {
          UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
        }
        UpdateMask.MergeFrom(other.UpdateMask);
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entities_.AddEntriesFrom(input, _repeated_entities_codec);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
          case 34: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entities_.AddEntriesFrom(ref input, _repeated_entities_codec);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
          case 34: {
            if (updateMask_ == null) {
              UpdateMask = new global::Google.Protobuf.WellKnownTypes.FieldMask();
            }
            input.ReadMessage(UpdateMask);
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// The request message for [EntityTypes.BatchDeleteEntities][google.cloud.dialogflow.v2.EntityTypes.BatchDeleteEntities].
  ///
  public sealed partial class BatchDeleteEntitiesRequest : pb::IMessage<BatchDeleteEntitiesRequest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<BatchDeleteEntitiesRequest> _parser = new pb::MessageParser<BatchDeleteEntitiesRequest>(() => new BatchDeleteEntitiesRequest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<BatchDeleteEntitiesRequest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[12]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchDeleteEntitiesRequest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchDeleteEntitiesRequest(BatchDeleteEntitiesRequest other) : this() {
      parent_ = other.parent_;
      entityValues_ = other.entityValues_.Clone();
      languageCode_ = other.languageCode_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BatchDeleteEntitiesRequest Clone() {
      return new BatchDeleteEntitiesRequest(this);
    }

    /// Field number for the "parent" field.
    public const int ParentFieldNumber = 1;
    private string parent_ = "";
    ///
    /// Required. The name of the entity type to delete entries for. Format:
    /// `projects/{Project ID}/agent/entityTypes/{Entity Type ID}`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Parent {
      get { return parent_; }
      set {
        parent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// Field number for the "entity_values" field.
    public const int EntityValuesFieldNumber = 2;
    private static readonly pb::FieldCodec<string> _repeated_entityValues_codec
        = pb::FieldCodec.ForString(18);
    private readonly pbc::RepeatedField<string> entityValues_ = new pbc::RepeatedField<string>();
    ///
    /// Required. The reference `values` of the entities to delete. Note that
    /// these are not fully-qualified names, i.e. they don't start with
    /// `projects/{Project ID}`.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> EntityValues {
      get { return entityValues_; }
    }

    /// Field number for the "language_code" field.
    public const int LanguageCodeFieldNumber = 3;
    private string languageCode_ = "";
    ///
    /// Optional. The language used to access language-specific data.
    /// If not specified, the agent's default language is used.
    /// For more information, see
    /// [Multilingual intent and entity
    /// data](https://cloud.google.com/dialogflow/docs/agents-multilingual#intent-entity).
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LanguageCode {
      get { return languageCode_; }
      set {
        languageCode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as BatchDeleteEntitiesRequest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BatchDeleteEntitiesRequest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Parent != other.Parent) return false;
      if(!entityValues_.Equals(other.entityValues_)) return false;
      if (LanguageCode != other.LanguageCode) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Parent.Length != 0) hash ^= Parent.GetHashCode();
      hash ^= entityValues_.GetHashCode();
      if (LanguageCode.Length != 0) hash ^= LanguageCode.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entityValues_.WriteTo(output, _repeated_entityValues_codec);
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Parent.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Parent);
      }
      entityValues_.WriteTo(ref output, _repeated_entityValues_codec);
      if (LanguageCode.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(LanguageCode);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Parent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Parent);
      }
      size += entityValues_.CalculateSize(_repeated_entityValues_codec);
      if (LanguageCode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LanguageCode);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BatchDeleteEntitiesRequest other) {
      if (other == null) {
        return;
      }
      if (other.Parent.Length != 0) {
        Parent = other.Parent;
      }
      entityValues_.Add(other.entityValues_);
      if (other.LanguageCode.Length != 0) {
        LanguageCode = other.LanguageCode;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entityValues_.AddEntriesFrom(input, _repeated_entityValues_codec);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Parent = input.ReadString();
            break;
          }
          case 18: {
            entityValues_.AddEntriesFrom(ref input, _repeated_entityValues_codec);
            break;
          }
          case 26: {
            LanguageCode = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  ///
  /// This message is a wrapper around a collection of entity types.
  ///
  public sealed partial class EntityTypeBatch : pb::IMessage<EntityTypeBatch>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EntityTypeBatch> _parser = new pb::MessageParser<EntityTypeBatch>(() => new EntityTypeBatch());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EntityTypeBatch> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Google.Cloud.Dialogflow.V2.EntityTypeReflection.Descriptor.MessageTypes[13]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EntityTypeBatch() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EntityTypeBatch(EntityTypeBatch other) : this() {
      entityTypes_ = other.entityTypes_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EntityTypeBatch Clone() {
      return new EntityTypeBatch(this);
    }

    /// Field number for the "entity_types" field.
    public const int EntityTypesFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Google.Cloud.Dialogflow.V2.EntityType> _repeated_entityTypes_codec
        = pb::FieldCodec.ForMessage(10, global::Google.Cloud.Dialogflow.V2.EntityType.Parser);
    private readonly pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType> entityTypes_ = new pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType>();
    ///
    /// A collection of entity types.
    ///
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Google.Cloud.Dialogflow.V2.EntityType> EntityTypes {
      get { return entityTypes_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EntityTypeBatch);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EntityTypeBatch other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!entityTypes_.Equals(other.entityTypes_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= entityTypes_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      entityTypes_.WriteTo(output, _repeated_entityTypes_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      entityTypes_.WriteTo(ref output, _repeated_entityTypes_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += entityTypes_.CalculateSize(_repeated_entityTypes_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EntityTypeBatch other) {
      if (other == null) {
        return;
      }
      entityTypes_.Add(other.entityTypes_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            entityTypes_.AddEntriesFrom(input, _repeated_entityTypes_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            entityTypes_.AddEntriesFrom(ref input, _repeated_entityTypes_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code