import * as go from '../../../../libs/gojs/release/go'; /** * @ignore * Internal class that remembers a Part's offset & angle. */ export declare class PartInfo { placementAngle: number; distance: number; rotationAngle: number; constructor(placementAngle: number, distance: number, rotationAngle: number); } export declare class RotateMultipleTool extends go.RotatingTool { initialInfo: any; initialAngle: number; centerPoint: go.Point; private _handle; readonly handle: go.GraphObject | null; /** * @constructor * @extends RotatingTool * @class * A custom tool for rotating multiple objects at a time. When more than one * part is selected, rotates all parts, revolving them about their collective center. * If the control key is held down during rotation, rotates all parts individually. */ constructor(); /** * Calls RotatingTool.doActivate, and then remembers the center point of the collection, * and the initial distances and angles of selected parts to the center. * @this {RotateMultipleTool} */ doActivate(): void; /** * @ignore * @param {Part} part * @param {Map} infos */ walkTree(part: any, infos: any): void; /** * Clean up any references to Parts. * @this {RotateMultipleTool} */ doDeactivate(): void; /** * Overrides rotatingTool.rotate to rotate all selected objects about their collective center. * When the control key is held down while rotating, all selected objects are rotated individually. * @this {RotateMultipleTool} * @param {number} newangle */ rotate(newangle: any): void; /** * This override needs to calculate the desired angle with different rotation points, * depending on whether we are rotating the whole selection as one, or Parts individually. * @this {RotateMultipleTool} * @param {Point} newPoint in document coordinates */ computeRotate(newPoint: any): any; }