export default c3DEngine;
declare class c3DEngine {
    constructor(rendererOrDiv: any, options?: {});
    width: any;
    height: any;
    positionBuffer: any;
    _nextThreejsLayer: number;
    fullSizeRenderTarget: THREE.WebGLRenderTarget<THREE.Texture>;
    renderView: (view: any) => void;
    /**
     * @type {function}
     * @param {number} w
     * @param {number} h
     */
    onWindowResize: Function;
    label2dRenderer: Label2DRenderer;
    renderer: any;
    getWindowSize(): THREE.Vector2;
    /**
     * return renderer THREE.js
     * @returns {THREE.WebGLRenderer}
     */
    getRenderer(): THREE.WebGLRenderer;
    /**
     * Render view to a Uint8Array.
     *
     * @param {View} view - The view to render
     * @param {object} [zone] - partial zone to render
     * @param {number} zone.x - x (in view coordinate)
     * @param {number} zone.y - y (in view coordinate)
     * @param {number} zone.width - width of area to render (in pixels)
     * @param {number} zone.height - height of area to render (in pixels)
     * @return {THREE.RenderTarget} - Uint8Array, 4 bytes per pixel. The first pixel in
     * the array is the bottom-left pixel.
     */
    renderViewToBuffer(view: View, zone?: {
        x: number;
        y: number;
        width: number;
        height: number;
    }): THREE.RenderTarget;
    /**
     * Render view to a THREE.RenderTarget.
     *
     * @param {View} view - The view to render
     * @param {THREE.RenderTarget} [target] - destination render target. Default value: full size render target owned by c3DEngine.
     * @param {object} [zone] - partial zone to render (zone x/y uses view coordinates) Note: target must contain complete zone
     * @return {THREE.RenderTarget} - the destination render target
     */
    renderViewToRenderTarget(view: View, target?: THREE.RenderTarget, zone?: object): THREE.RenderTarget;
    bufferToImage(pixelBuffer: any, width: any, height: any): HTMLImageElement;
    depthBufferRGBAValueToOrthoZ(depthBufferRGBA: any, camera: any): number;
}
import * as THREE from 'three';
import Label2DRenderer from '../Renderer/Label2DRenderer';
