import { Transform } from '../Util'; import { Node } from '../Node'; import { Rect } from './Rect'; import { Group } from '../Group'; import { ContainerConfig } from '../Container'; import { GetSet, IRect, Vector2d } from '../types'; export interface Box extends IRect { rotation: number; } export interface TransformerConfig extends ContainerConfig { resizeEnabled?: boolean; rotateEnabled?: boolean; rotationSnaps?: Array; rotationSnapTolerance?: number; rotateAnchorOffset?: number; borderEnabled?: boolean; borderStroke?: string; borderStrokeWidth?: number; borderDash?: Array; anchorFill?: string; anchorStroke?: string; anchorStrokeWidth?: number; anchorSize?: number; anchorCornerRadius?: number; keepRatio?: boolean; centeredScaling?: boolean; enabledAnchors?: Array; flipEnabled?: boolean; node?: Rect; ignoreStroke?: boolean; boundBoxFunc?: (oldBox: Box, newBox: Box) => Box; useSingleNodeRotation?: boolean; shouldOverdrawWholeArea?: boolean; } export declare class Transformer extends Group { _nodes: Array; _movingAnchorName: string; _transforming: boolean; _anchorDragOffset: Vector2d; sin: number; cos: number; _cursorChange: boolean; constructor(config?: TransformerConfig); attachTo(node: any): this; setNode(node: any): this; getNode(): Node; setNodes(nodes?: Array): this; _proxyDrag(node: Node): void; getNodes(): Node[]; getActiveAnchor(): string; detach(): void; _resetTransformCache(): void; _getNodeRect(): any; __getNodeShape(node: Node, rot?: number, relative?: Node): { rotation: number; x: number; y: number; width: number; height: number; }; __getNodeRect(): { x: number; y: number; width: number; height: number; rotation: number; }; getX(): any; getY(): any; getWidth(): any; getHeight(): any; _createElements(): void; _createAnchor(name: any): void; _createBack(): void; _handleMouseDown(e: any): void; _handleMouseMove(e: any): void; _handleMouseUp(e: any): void; getAbsoluteTransform(): Transform; _removeEvents(e?: any): void; _fitNodesInto(newAttrs: any, evt?: any): void; forceUpdate(): void; _batchChangeChild(selector: string, attrs: any): void; update(): void; isTransforming(): boolean; stopTransform(): void; destroy(): this; toObject(): any; nodes: GetSet; enabledAnchors: GetSet; rotationSnaps: GetSet; anchorSize: GetSet; resizeEnabled: GetSet; rotateEnabled: GetSet; rotateAnchorOffset: GetSet; rotationSnapTolerance: GetSet; padding: GetSet; borderEnabled: GetSet; borderStroke: GetSet; borderStrokeWidth: GetSet; borderDash: GetSet; anchorFill: GetSet; anchorStroke: GetSet; anchorCornerRadius: GetSet; anchorStrokeWidth: GetSet; keepRatio: GetSet; centeredScaling: GetSet; flipEnabled: GetSet; ignoreStroke: GetSet; boundBoxFunc: GetSet<(oldBox: Box, newBox: Box) => Box, this>; shouldOverdrawWholeArea: GetSet; useSingleNodeRotation: GetSet; }