import { DrawBatcher } from './DrawBatcher'; import { ResolvedCanvasInteractionConfig } from './canvasInteraction'; import { CanvasEvent, CanvasFlexStyle, ICanvasNode, PositionType, PositionValue, Rect } from './CanvasNode.type'; import { CanvasNodeTooltipConfig } from '../utils/portalHoverEvents'; export * from './CanvasNode.type'; export declare abstract class CanvasNode implements ICanvasNode { debugColor: string; id: string; parent: CanvasNode | null; children: CanvasNode[]; rect: Rect; zIndex: number; protected _intrinsicWidth: number; protected _intrinsicHeight: number; protected _layoutDirty: boolean; protected _measureDirty: boolean; private _style; private _position; private _left; private _top; private _right; private _bottom; get style(): CanvasFlexStyle; set style(value: CanvasFlexStyle); get position(): PositionType; set position(value: PositionType); get left(): PositionValue | undefined; set left(value: PositionValue | undefined); get top(): PositionValue | undefined; set top(value: PositionValue | undefined); get right(): PositionValue | undefined; set right(value: PositionValue | undefined); get bottom(): PositionValue | undefined; set bottom(value: PositionValue | undefined); isAbsolute(): boolean; isPositioningContext(): boolean; static DEBUG: boolean; backgroundColor: string; borderColor: string; borderWidth: number; portalHoverEnabled: boolean; tooltip?: CanvasNodeTooltipConfig; interaction?: ResolvedCanvasInteractionConfig; constructor(id: string); markLayoutDirty(): void; markMeasureDirty(): void; isLayoutDirty(): boolean; isMeasureDirty(): boolean; protected clearLayoutDirty(): void; protected clearMeasureDirty(): void; addChild(child: CanvasNode): void; addChildStart(child: CanvasNode): void; removeChild(child: CanvasNode): void; getTooltip(): CanvasNodeTooltipConfig | undefined; abstract measure(ctx: CanvasRenderingContext2D): void; paint(batcher: DrawBatcher, ctx: CanvasRenderingContext2D): void; abstract onPaint(batcher: DrawBatcher, ctx: CanvasRenderingContext2D): void; hitTest(x: number, y: number): CanvasNode[]; requestLayout(): void; requestPaint(): void; onClick(_event: CanvasEvent): void; onMouseDown(_event: CanvasEvent): void; onMouseUp(_event: CanvasEvent): void; onMouseEnter(_event: CanvasEvent): void; onMouseLeave(_event: CanvasEvent): void; onMouseMove(_event: CanvasEvent): void; onDoubleClick(_event: CanvasEvent): void; private attachChild; private collectHitCandidates; protected containsHitPoint(x: number, y: number): boolean; }