/** @module data */ /** * Interface for data objects that are able to create their full binary copy. * * ### Example ### * * export class MyClass implements IMyClass, ICloneable { * constructor() { }; * * public clone(): any { * var cloneObj = new (this.constructor()); * * // Copy every attribute from this to cloneObj here. * ... * * return cloneObj; * } * } */ export interface ICloneable { /** * Creates a binary clone of this object. * * @returns a clone of this object. */ clone(): any; }