blockly
Version:
Blockly is a library for building visual programming editors.
30 lines • 892 B
TypeScript
/**
* @license
* Copyright 2019 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import type { ISelectable } from './i_selectable.js';
export interface ICopyable<T extends ICopyData> extends ISelectable {
/**
* Encode for copying.
*
* @returns Copy metadata.
*/
toCopyData(): T | null;
/**
* Whether this instance is currently copyable. The standard implementation
* is to return true if isOwnDeletable and isOwnMovable return true.
*
* @returns True if it can currently be copied.
*/
isCopyable?(): boolean;
}
export declare namespace ICopyable {
interface ICopyData {
paster: string;
}
}
export type ICopyData = ICopyable.ICopyData;
/** @returns true if the given object is an ICopyable. */
export declare function isCopyable(obj: any): obj is ICopyable<ICopyData>;
//# sourceMappingURL=i_copyable.d.ts.map