import type { MotionManager } from "../Motion.js"; import { OnlyAnimate, Snapshot, Transform } from "../types.js"; export declare const TreeContext: import("@hydrophobefireman/ui-lib").Context; interface MotionTreeConfig { wrappedDomNode: HTMLElement; id: string; time: number; isRoot: boolean; parent: MotionTreeNode | null; onlyAnimate?: OnlyAnimate; } export declare class MotionTreeNode { protected children: Set; private _motionManager; private _isAnimating; private _cancelled; private _reset; isReady(): boolean; isAnimating(): boolean; isCancelled(): boolean; cancel(): this; private _config; setManager(m: MotionManager): this; unmount(): this; overrideSnapshot(snap: Snapshot): void; getSnapshot(): Snapshot; attach(child: MotionTreeNode): this; detach(child: MotionTreeNode): this; measure(): Snapshot; safeRequestLayout({ nextFrame }: { nextFrame?: boolean; }): Promise; requestLayout($scale?: { x: number; y: number; }, parentDelta?: Transform): Promise; protected animateTreeDelta(delta: Transform, scale?: { x: number; y: number; }, parentDelta?: Transform): Promise; setTreeState({ wrappedDomNode, time, onlyAnimate, id, parent, }: Omit): this; } export {};