import Freezer from "./Freezer";
import CameraBox from "./CameraBox";
import WindowNode from "./WindowNode";
import Rect from "parsegraph-rect";
import { BasicWindow, Component } from "parsegraph-window";
import Camera from "parsegraph-camera";
export default class World {
    _worldPaintingDirty: Map<BasicWindow, boolean>;
    _worldRoots: WindowNode[];
    _nodeUnderCursor: WindowNode;
    _previousWorldPaintState: Map<BasicWindow, number>;
    _freezer: Freezer;
    _cameraBox: CameraBox;
    _repaintListeners: [Function, object][];
    constructor();
    freezer(): Freezer;
    contextChanged(isLost: boolean, window: BasicWindow): void;
    plot(node: WindowNode): void;
    removePlot(plot: WindowNode): void;
    mouseOver(x: number, y: number): number;
    boundingRect(outRect?: Rect): Rect;
    scheduleRepaint(): void;
    addRepaintListener(onRepaint: Function, onRepaintThisArg?: object): () => void;
    nodeUnderCursor(): WindowNode;
    readyForInput(): boolean;
    commitLayout(timeout?: number): boolean;
    nodeUnderCoords(x: number, y: number): WindowNode;
    needsRepaint(window: BasicWindow): boolean;
    paint(window: BasicWindow, timeout?: number, paintContext?: any): boolean;
    render(window: BasicWindow, camera: Camera, paintContext: Component): boolean;
}
//# sourceMappingURL=World.d.ts.map