"use strict";
// Public API of the protobuf-ts runtime.
// Note: we do not use `export * from ...` to help tree shakers,
// webpack verbose output hints that this should be useful
Object.defineProperty(exports, "__esModule", { value: true });
// Convenience JSON typings and corresponding type guards
var json_typings_1 = require("./json-typings");
Object.defineProperty(exports, "typeofJsonValue", { enumerable: true, get: function () { return json_typings_1.typeofJsonValue; } });
Object.defineProperty(exports, "isJsonObject", { enumerable: true, get: function () { return json_typings_1.isJsonObject; } });
// Base 64 encoding
var base64_1 = require("./base64");
Object.defineProperty(exports, "base64decode", { enumerable: true, get: function () { return base64_1.base64decode; } });
Object.defineProperty(exports, "base64encode", { enumerable: true, get: function () { return base64_1.base64encode; } });
// UTF8 encoding
var protobufjs_utf8_1 = require("./protobufjs-utf8");
Object.defineProperty(exports, "utf8read", { enumerable: true, get: function () { return protobufjs_utf8_1.utf8read; } });
// Binary format contracts, options for reading and writing, for example
var binary_format_contract_1 = require("./binary-format-contract");
Object.defineProperty(exports, "WireType", { enumerable: true, get: function () { return binary_format_contract_1.WireType; } });
Object.defineProperty(exports, "mergeBinaryOptions", { enumerable: true, get: function () { return binary_format_contract_1.mergeBinaryOptions; } });
Object.defineProperty(exports, "UnknownFieldHandler", { enumerable: true, get: function () { return binary_format_contract_1.UnknownFieldHandler; } });
// Standard IBinaryReader implementation
var binary_reader_1 = require("./binary-reader");
Object.defineProperty(exports, "BinaryReader", { enumerable: true, get: function () { return binary_reader_1.BinaryReader; } });
Object.defineProperty(exports, "binaryReadOptions", { enumerable: true, get: function () { return binary_reader_1.binaryReadOptions; } });
// Standard IBinaryWriter implementation
var binary_writer_1 = require("./binary-writer");
Object.defineProperty(exports, "BinaryWriter", { enumerable: true, get: function () { return binary_writer_1.BinaryWriter; } });
Object.defineProperty(exports, "binaryWriteOptions", { enumerable: true, get: function () { return binary_writer_1.binaryWriteOptions; } });
// Int64 and UInt64 implementations required for the binary format
var pb_long_1 = require("./pb-long");
Object.defineProperty(exports, "PbLong", { enumerable: true, get: function () { return pb_long_1.PbLong; } });
Object.defineProperty(exports, "PbULong", { enumerable: true, get: function () { return pb_long_1.PbULong; } });
// JSON format contracts, options for reading and writing, for example
var json_format_contract_1 = require("./json-format-contract");
Object.defineProperty(exports, "jsonReadOptions", { enumerable: true, get: function () { return json_format_contract_1.jsonReadOptions; } });
Object.defineProperty(exports, "jsonWriteOptions", { enumerable: true, get: function () { return json_format_contract_1.jsonWriteOptions; } });
Object.defineProperty(exports, "mergeJsonOptions", { enumerable: true, get: function () { return json_format_contract_1.mergeJsonOptions; } });
// Message type contract
var message_type_contract_1 = require("./message-type-contract");
Object.defineProperty(exports, "MESSAGE_TYPE", { enumerable: true, get: function () { return message_type_contract_1.MESSAGE_TYPE; } });
// Message type implementation via reflection
var message_type_1 = require("./message-type");
Object.defineProperty(exports, "MessageType", { enumerable: true, get: function () { return message_type_1.MessageType; } });
// Reflection info, generated by the plugin, exposed to the user, used by reflection ops
var reflection_info_1 = require("./reflection-info");
Object.defineProperty(exports, "ScalarType", { enumerable: true, get: function () { return reflection_info_1.ScalarType; } });
Object.defineProperty(exports, "LongType", { enumerable: true, get: function () { return reflection_info_1.LongType; } });
Object.defineProperty(exports, "RepeatType", { enumerable: true, get: function () { return reflection_info_1.RepeatType; } });
Object.defineProperty(exports, "normalizeFieldInfo", { enumerable: true, get: function () { return reflection_info_1.normalizeFieldInfo; } });
Object.defineProperty(exports, "readFieldOptions", { enumerable: true, get: function () { return reflection_info_1.readFieldOptions; } });
Object.defineProperty(exports, "readFieldOption", { enumerable: true, get: function () { return reflection_info_1.readFieldOption; } });
Object.defineProperty(exports, "readMessageOption", { enumerable: true, get: function () { return reflection_info_1.readMessageOption; } });
// Message operations via reflection
var reflection_type_check_1 = require("./reflection-type-check");
Object.defineProperty(exports, "ReflectionTypeCheck", { enumerable: true, get: function () { return reflection_type_check_1.ReflectionTypeCheck; } });
var reflection_create_1 = require("./reflection-create");
Object.defineProperty(exports, "reflectionCreate", { enumerable: true, get: function () { return reflection_create_1.reflectionCreate; } });
var reflection_scalar_default_1 = require("./reflection-scalar-default");
Object.defineProperty(exports, "reflectionScalarDefault", { enumerable: true, get: function () { return reflection_scalar_default_1.reflectionScalarDefault; } });
var reflection_merge_partial_1 = require("./reflection-merge-partial");
Object.defineProperty(exports, "reflectionMergePartial", { enumerable: true, get: function () { return reflection_merge_partial_1.reflectionMergePartial; } });
var reflection_equals_1 = require("./reflection-equals");
Object.defineProperty(exports, "reflectionEquals", { enumerable: true, get: function () { return reflection_equals_1.reflectionEquals; } });
var reflection_binary_reader_1 = require("./reflection-binary-reader");
Object.defineProperty(exports, "ReflectionBinaryReader", { enumerable: true, get: function () { return reflection_binary_reader_1.ReflectionBinaryReader; } });
var reflection_binary_writer_1 = require("./reflection-binary-writer");
Object.defineProperty(exports, "ReflectionBinaryWriter", { enumerable: true, get: function () { return reflection_binary_writer_1.ReflectionBinaryWriter; } });
var reflection_json_reader_1 = require("./reflection-json-reader");
Object.defineProperty(exports, "ReflectionJsonReader", { enumerable: true, get: function () { return reflection_json_reader_1.ReflectionJsonReader; } });
var reflection_json_writer_1 = require("./reflection-json-writer");
Object.defineProperty(exports, "ReflectionJsonWriter", { enumerable: true, get: function () { return reflection_json_writer_1.ReflectionJsonWriter; } });
var reflection_contains_message_type_1 = require("./reflection-contains-message-type");
Object.defineProperty(exports, "containsMessageType", { enumerable: true, get: function () { return reflection_contains_message_type_1.containsMessageType; } });
// Oneof helpers
var oneof_1 = require("./oneof");
Object.defineProperty(exports, "isOneofGroup", { enumerable: true, get: function () { return oneof_1.isOneofGroup; } });
Object.defineProperty(exports, "setOneofValue", { enumerable: true, get: function () { return oneof_1.setOneofValue; } });
Object.defineProperty(exports, "getOneofValue", { enumerable: true, get: function () { return oneof_1.getOneofValue; } });
Object.defineProperty(exports, "clearOneofValue", { enumerable: true, get: function () { return oneof_1.clearOneofValue; } });
Object.defineProperty(exports, "getSelectedOneofValue", { enumerable: true, get: function () { return oneof_1.getSelectedOneofValue; } });
// Enum object type guard and reflection util, may be interesting to the user.
var enum_object_1 = require("./enum-object");
Object.defineProperty(exports, "listEnumValues", { enumerable: true, get: function () { return enum_object_1.listEnumValues; } });
Object.defineProperty(exports, "listEnumNames", { enumerable: true, get: function () { return enum_object_1.listEnumNames; } });
Object.defineProperty(exports, "listEnumNumbers", { enumerable: true, get: function () { return enum_object_1.listEnumNumbers; } });
Object.defineProperty(exports, "isEnumObject", { enumerable: true, get: function () { return enum_object_1.isEnumObject; } });
// lowerCamelCase() is exported for plugin, rpc-runtime and other rpc packages
var lower_camel_case_1 = require("./lower-camel-case");
Object.defineProperty(exports, "lowerCamelCase", { enumerable: true, get: function () { return lower_camel_case_1.lowerCamelCase; } });
// assertion functions are exported for plugin, may also be useful to user
var assert_1 = require("./assert");
Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return assert_1.assert; } });
Object.defineProperty(exports, "assertNever", { enumerable: true, get: function () { return assert_1.assertNever; } });
Object.defineProperty(exports, "assertInt32", { enumerable: true, get: function () { return assert_1.assertInt32; } });
Object.defineProperty(exports, "assertUInt32", { enumerable: true, get: function () { return assert_1.assertUInt32; } });
Object.defineProperty(exports, "assertFloat32", { enumerable: true, get: function () { return assert_1.assertFloat32; } });
