//
//  Generated code. Do not modify.
//  source: test
//
// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names, library_prefixes
// ignore_for_file: non_constant_identifier_names, prefer_final_fields
// ignore_for_file: unnecessary_import, unnecessary_this, unused_import

import 'dart:convert' as $convert;
import 'dart:core' as $core;
import 'dart:typed_data' as $typed_data;

@$core.Deprecated('Use phoneTypeDescriptor instead')
const PhoneType$json = {
  '1': 'PhoneType',
  '2': [
    {'1': 'MOBILE', '2': 0},
    {'1': 'HOME', '2': 1},
    {'1': 'WORK', '2': 2},
    {'1': 'BUSINESS', '2': 2},
  ],
};

/// Descriptor for `PhoneType`. Decode as a `google.protobuf.EnumDescriptorProto`.
final $typed_data.Uint8List phoneTypeDescriptor = $convert.base64Decode(
    'CglQaG9uZVR5cGUSCgoGTU9CSUxFEAASCAoESE9NRRABEggKBFdPUksQAhIMCghCVVNJTkVTUx'
    'AC');

