import type { Vector2Like } from 'modern-path2d'; import type { CanvasBatchable, CanvasItemEvents, CanvasItemProperties, Node } from '../main'; import { Transform2D, Vector2 } from 'modern-path2d'; import { CanvasItem } from '../main'; export interface Node2DProperties extends CanvasItemProperties { } export interface Node2DEvents extends CanvasItemEvents { updateGlobalTransform: []; } export interface Node2D { on: (event: K, listener: (...args: Node2DEvents[K]) => void) => this; once: (event: K, listener: (...args: Node2DEvents[K]) => void) => this; off: (event: K, listener: (...args: Node2DEvents[K]) => void) => this; emit: (event: K, ...args: Node2DEvents[K]) => this; } export declare class Node2D extends CanvasItem { rotation: number; readonly position: Vector2; /** * Scroll/content offset (in this node's local space) applied only to its * children's global transform — the node's own transform, globalAabb and * overflow-clip box are unaffected. Runtime UI state, not serialized: lets a * frame scroll its overflowing content while its clip box stays put. */ readonly contentOffset: Vector2; readonly scale: Vector2; readonly skew: Vector2; readonly pivot: Vector2; readonly extraTransform: Transform2D; readonly transform: Transform2D; readonly globalPosition: Vector2; globalRotation: number; readonly globalScale: Vector2; readonly globalSkew: Vector2; readonly globalTransform: Transform2D; parentTransformDirtyId?: number; transformDirtyId: number; constructor(properties?: Partial, nodes?: Node[]); protected _updateTransform(): void; updateGlobalTransform(): void; protected _relayout(batchables: CanvasBatchable[], oldBatchables: CanvasBatchable[]): CanvasBatchable[]; protected _process(delta: number): void; toLocal

(globalPos: Vector2Like, newPos?: P): P; toGlobal

(localPos: Vector2Like, newPos?: P): P; protected _destroy(): void; }