import { TypedViewer, TypedViewerOptions } from './_Base';
import { MapboxPerspectiveCamera } from '../../core/thirdParty/Mapbox/MapboxPerspectiveCamera';
import { MapboxRaycaster } from '../../core/thirdParty/Mapbox/MapboxRaycaster';
import { WebGLRenderer } from 'three';
export interface MapboxViewerOptions extends TypedViewerOptions<MapboxPerspectiveCamera> {
}
export declare class MapboxViewer extends TypedViewer<MapboxPerspectiveCamera> {
    private options;
    private _map;
    private _canvasContainer;
    protected _renderer: WebGLRenderer | undefined;
    private _cssRendererConfig;
    private _effectComposer;
    static _canvasIdPrefix(): string;
    constructor(options: MapboxViewerOptions);
    rendererConfig(): undefined;
    createRaycaster(): MapboxRaycaster;
    setRenderer(renderer: WebGLRenderer): void;
    renderer(): WebGLRenderer | undefined;
    canvas(): HTMLCanvasElement;
    private _setupFunctions;
    /**
     * mounts the viewer onto an element
     *
     *
     */
    mount(element: HTMLElement): void;
    private _mountCSSRenderer;
    _build(): void;
    /**
     * disposes the viewer
     *
     *
     */
    private _setEvents;
    private _onResizeBound;
    onResize(): void;
    /**
     * setAutoRender to false will stop the rendering. This can be useful if you know that nothing has changed in the scene, or if the renderer is currently not visible.
     *
     *
     */
    isXR(): boolean;
    private _animateCommonBound;
    private __animateCommon__;
    /**
     * returns the current renderer
     *
     *
     */
    preCompile(): void;
    markAsReady(): void;
}
