import { MapboxCameraObjNode } from '../../../nodes/obj/MapboxCamera';
import { MapboxViewer } from '../../Mapbox';
import { Scene, Vector2 } from 'three';
import mapboxgl from 'mapbox-gl';
export declare class ThreejsLayer {
    private _cameraNode;
    private _displayScene;
    private _viewer;
    readonly id: string;
    readonly type: 'custom';
    readonly renderingMode: '3d';
    private _camera;
    private _scene;
    private _renderer;
    private _map;
    private _gl;
    private _renderCSSFunc;
    private _cssRendererConfig;
    constructor(_cameraNode: MapboxCameraObjNode, _displayScene: Scene, _viewer: MapboxViewer);
    onAdd(map: mapboxgl.Map, gl: WebGLRenderingContext): void;
    onRemove(): void;
    private createRenderer;
    resize(size: Vector2): void;
    render(gl: WebGLRenderingContext, matrix: number[]): Promise<void>;
    private _vX;
    private _vY;
    private _vZ;
    private mRX;
    private mRY;
    private mRZ;
    private s;
    private m;
    private l;
    _updateCameraMatrix(matrix: number[]): void;
    private _hack;
}
