function registerClass(cls) {
	  assert(cls.className != null, function () {
	    return "Class being registered does not have the static className " + "property defined.";
	  });
	  assert(typeof cls.className === 'string', function () {
	    return "className is required to be a string, but got type " + typeof cls.className;
	  });
	  assert(cls.className.length > 0, function () {
	    return "Class being registered has an empty-string as its className, " + "which is disallowed.";
	  });
	  SerializationMap.register(cls);
	}
Register a class with the serialization map of TensorFlow.js.

This is often used for registering custom Layers, so they can be
serialized and deserialized.

Example:

```js
class MyCustomLayer extends tf.layers.Layer {
  static className = 'MyCustomLayer';

  constructor(config) {
    super(config);
  }
}
tf.serialization.registerClass(MyCustomLayer);
```

@param cls The class to be registered. It must have a public static member
  called `className` defined and the value must be a non-empty string.

@doc {heading: 'Models', subheading: 'Serialization', ignoreCI: true}