/**
 * @fileoverview Legacy alias for the old namespace used by encoder.js
 */
goog.module('jspb.BinaryEncoder');
goog.module.declareLegacyNamespace();

const {BinaryEncoder} = goog.require('jspb.binary.encoder');

exports = BinaryEncoder;
