/** * Default methods for a wrapped movable. */ import type { Coord } from "./types"; import type { Graphie } from "../util/graphie"; export interface VisibleShape { attr: (...args: any[]) => void; animate: (...args: any[]) => void; remove: () => void; hide: () => void; show: () => void; } export default abstract class WrappedDrawing { graphie: Graphie; abstract wrapper: HTMLDivElement; abstract visibleShape: VisibleShape; initialPoint: Coord; constructor(graphie: Graphie, initialPoint: Coord); transform(transformation: any): void; toFront(): void; toBack(): void; remove(): void; getMouseTarget(): any; moveTo(point: any): void; hide(): void; show(): void; attr(...args: any[]): void; animate(...args: any[]): void; }