import { Object3D, Scene, Camera } from 'three';
import { CSS2DObject } from './CSS2DObject';
export interface CSS2DParameters {
    element?: HTMLElement;
}
export declare class CSS2DRenderer {
    private _width;
    private _height;
    private _widthHalf;
    private _heightHalf;
    private dataByObject;
    domElement: HTMLElement;
    appendedObjects: Set<CSS2DObject>;
    objectsToRender: Set<CSS2DObject>;
    objectsToRemove: Set<CSS2DObject>;
    constructor(parameters?: CSS2DParameters);
    getSize(): {
        width: number;
        height: number;
    };
    render(scene: Scene, camera: Camera): void;
    private removeElementsDeletedFromSceneGraph;
    setSize(width: number, height: number): void;
    renderObject(object: Object3D, scene: Scene, camera: Camera): void;
    getDistanceToSquared(object1: Object3D, object2: Object3D): number;
    filterAndFlatten(scene: Scene): CSS2DObject[];
    zOrder(scene: Scene): void;
}
