import { TLShapeUtil } from 'sn-wb-tldraw-core'; import type { TLPointerInfo, TLBounds } from 'sn-wb-tldraw-core'; import type { TDMeta, TDShape, TransformInfo } from '../../types'; export declare abstract class TDShapeUtil extends TLShapeUtil { abstract type: T['type']; canBind: boolean; canEdit: boolean; canClone: boolean; isAspectRatioLocked: boolean; hideResizeHandles: boolean; bindingDistance: number; abstract getShape: (props: Partial) => T; hitTestPoint: (shape: T, point: number[]) => boolean; hitTestLineSegment: (shape: T, A: number[], B: number[]) => boolean; create: (props: { id: string; } & Partial) => T; getCenter: (shape: T) => number[]; getExpandedBounds: (shape: T) => TLBounds; getBindingPoint: (shape: T, fromShape: K, point: number[], origin: number[], direction: number[], bindAnywhere: boolean) => { point: number[]; distance: number; } | undefined; getConnectorBindingPoint: (shape: T, fromShape: K, point: number[], origin: number[], direction: number[], bindAnywhere: boolean) => { point: number[]; distance: number; } | undefined; mutate: (shape: T, props: Partial) => Partial; transform: (shape: T, bounds: TLBounds, info: TransformInfo) => Partial; transformSingle: (shape: T, bounds: TLBounds, info: TransformInfo) => Partial | void; updateChildren?: (shape: T, children: K[]) => Partial[] | void; onChildrenChange?: (shape: T, children: TDShape[]) => Partial | void; onHandleChange?: (shape: T, handles: Partial) => Partial | void; onRightPointHandle?: (shape: T, handles: Partial, info: Partial) => Partial | void; onDoubleClickHandle?: (shape: T, handles: Partial, info: Partial) => Partial | void; onDoubleClickBoundsHandle?: (shape: T) => Partial | void; onSessionComplete?: (shape: T) => Partial | void; getSvgElement: (shape: T) => SVGElement | void; } //# sourceMappingURL=TDShapeUtil.d.ts.map