/** * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: Apache-2.0 */ /** * @fileoverview The interface for an object that is copyable. * @author samelh@google.com (Sam El-Husseini) */ 'use strict'; /** * The interface for an object that is copyable. * @namespace Blockly.ICopyable */ goog.module('Blockly.ICopyable'); /* eslint-disable-next-line no-unused-vars */ const ISelectable = goog.requireType('Blockly.ISelectable'); /* eslint-disable-next-line no-unused-vars */ const WorkspaceSvg = goog.requireType('Blockly.WorkspaceSvg'); /** * @extends {ISelectable} * @interface * @alias Blockly.ICopyable */ const ICopyable = function() {}; /** * Encode for copying. * @return {?ICopyable.CopyData} Copy metadata. * @package */ ICopyable.prototype.toCopyData; /** * Copy Metadata. * @typedef {{ * saveInfo:(!Object|!Element), * source:WorkspaceSvg, * typeCounts:?Object * }} */ ICopyable.CopyData; exports = ICopyable;