interface AbsoluteCache {
    dirty: boolean;
    left?: number;
    right?: number;
    top?: number;
    bottom?: number;
    width?: number;
    height?: number;
}
export default class SceneGraph {
    name: string;
    left: number;
    top: number;
    width: number;
    height: number;
    data?: Record<string, any> | undefined;
    private children;
    private absoluteCache;
    parent?: SceneGraph;
    constructor(name: string, left: number, top: number, width: number, height: number, data?: Record<string, any> | undefined);
    addChild(nameOrSceneGraph: string | SceneGraph, left: number, top: number, width: number, height: number, data?: Record<string, any>): SceneGraph;
    getSubRecord(name: string): SceneGraph | undefined;
    expand(newLeft: number, newRight: number, newTop: number, newBottom: number): void;
    get bottom(): number;
    get right(): number;
    walkParents(callback: (arg: SceneGraph) => void): void;
    walkChildren(callback: (c: SceneGraph) => void): void;
    get absolute(): AbsoluteCache;
    move(x: number, y: number): void;
}
export {};
