export function RenderControllerProxy(options: any): void;
export class RenderControllerProxy {
    constructor(options: any);
    cache: Promise<Cache>;
    pubsub: PubSubController;
    options: any;
    worker: any;
    enableWebWorker: any;
    navigationManager: NavigationManager;
    hotkeys: Hotkeys;
    renderController: RenderController | RenderControllerWorker | null;
    pwfCache: PWFCache | null;
    renderControllerParams: {
        canvas: HTMLElement | null;
        debug: any;
        sceneGraph: any;
        selection: any;
        min_boundary: any;
        max_boundary: any;
        rotation: any;
        offsetWidth: any;
        offsetHeight: any;
        offsetTop: any;
        offsetLeft: any;
        multiselect: any;
        locale: any;
        enableWebWorker: any;
        logInitializationTimes: any;
        projectId: any;
        baseUrl: any;
        featureFlags: any;
        nodeUrl: any;
        meshnodeUrl: any;
        meshUrl: any;
        manifestUrl: any;
        fileExtractionId: any;
        modelId: any;
        modelRevisionId: any;
        resources: any;
        companyId: any;
        accessToken: any;
    };
    processPWFArrayBuffers: (modelDescriptors: any) => void;
    messageToEvent: {
        'Error: Download exception.': "downloadError";
        'Error: File size exception.': "fileTooBigError";
    };
    handleDownloadError: (message: any) => void;
    downloadMetaData: {
        timeToDownload: number;
        modelCached: boolean;
    };
    navmode: any;
    globalOffset: any;
    createRenderController(): void;
    onUpdateWithState(data: any): void | Promise<any> | undefined;
    close(): void;
    cameras: any;
    setNavigationMode(...params: any[]): void;
    waitTillRenderStage(...params: any[]): Promise<any>;
    getCameraDirection(...params: any[]): Promise<any> | {
        x: number;
        y: number;
        z: number;
    };
    getPosition(...params: any[]): Promise<any> | {
        x: number;
        y: number;
        z: number;
    };
    getLookAt(...params: any[]): Promise<any> | {
        x: number;
        y: number;
        z: number;
    };
    getBenchmarkPoint(...params: any[]): Promise<any> | {
        position: {
            x: number;
            y: number;
            z: number;
        };
        lookAt: {
            x: number;
            y: number;
            z: number;
        };
    };
    setBenchmarkPoint(...params: any[]): void | Promise<any>;
    setNodeColor(...params: any[]): void;
    clearNodeColor(...params: any[]): void;
    clearAllNodeColor(...params: any[]): void;
    setMeshnodeColor(...params: any[]): void;
    setLookAt(...params: any[]): Promise<any> | {
        direction: {
            x: number;
            y: number;
            z: number;
        };
        position: {
            x: number;
            y: number;
            z: number;
        };
    };
    setPosition(...params: any[]): Promise<any> | {
        direction: {
            x: number;
            y: number;
            z: number;
        };
        position: {
            x: number;
            y: number;
            z: number;
        };
    };
    setCameraRotation(...params: any[]): void | Promise<any>;
    getGlobalOffset(...params: any[]): Promise<any> | import("../sdk").Vector3 | null;
    getMeshnodeFromNodeId(...params: any[]): Promise<any> | import("../pwfreader/PWFTypes").Meshnode | null;
    unhideNodeFromNodeIds(...params: any[]): boolean | Promise<any>;
    hideNodesFromNodeIds(...params: any[]): boolean | Promise<any>;
    onResize(...params: any[]): void;
    getMeshnodeFromIndex(...params: any[]): Promise<any> | import("../pwfreader/PWFTypes").Meshnode | null;
    getMeasureObjectMeshes(...params: any[]): Promise<any> | import("../pwfreader/PWFTypes").MeshnodeObject[];
    onContextMenu(...params: any[]): void | Promise<any>;
    getContextMenuData(...params: any[]): Promise<any> | {
        meshnodeIndex: number;
    };
    onSingleClick(...params: any[]): void | Promise<any>;
    onMouseMove(...params: any[]): void | Promise<any>;
    onWheel(...params: any[]): void | Promise<any>;
    resizeScene(...params: any[]): void;
    onDoubleClick(...params: any[]): void | Promise<any>;
    onRightClick(...params: any[]): void | Promise<any>;
    getNumNodesHidden(...params: any[]): Promise<any> | {
        count: number;
    };
    hideSelected(...params: any[]): void;
    hideNodeOffset(...params: any[]): any;
    getHiddenNodeIds(...params: any[]): Promise<any> | number[];
    getHiddenMeshnodeIndices(...params: any[]): Promise<any> | number[];
    getHiddenGeoIdsSet(...params: any[]): Promise<any> | Set<number>;
    addHiddenMeshnodeIndices(...params: any[]): void | Promise<any>;
    removeHiddenGeoIds(...params: any[]): any;
    setVisibility(...params: any[]): void | Promise<any>;
    getVisibility(...params: any[]): Promise<any> | import("../sdk").Visibility;
    getOrbitTranslate(...params: any[]): Promise<any> | {
        translate: import("../sdk").Vector3 | import("../sdk").Vector3[];
        orbitPoint: import("../sdk").Vector3;
    };
    ToScreenPosition(...params: any[]): Promise<any> | import("../sdk").Vector3 | import("../sdk").Vector3[];
    ModelToMapSpace(...params: any[]): Promise<any> | {
        x?: undefined;
        y?: undefined;
        dir_x?: undefined;
        dir_y?: undefined;
    } | {
        x: number;
        y: number;
        dir_x: number;
        dir_y: number;
    };
    MapToModelSpace(...params: any[]): Promise<any> | {
        x?: undefined;
        y?: undefined;
        dir_x?: undefined;
        dir_y?: undefined;
    } | {
        x: number;
        y: number;
        dir_x: number;
        dir_y: number;
    };
    setBcfCamera(...params: any[]): false | Promise<any> | {
        perspective_camera: {
            camera_view_point: {
                x: number;
                y: number;
                z: number;
            };
            camera_direction: {
                x: number;
                y: number;
                z: number;
            };
            camera_up_vector: {
                x: number;
                y: number;
                z: number;
            };
            field_of_view: number;
            target_distance: number;
            unit: string;
        };
    };
    getBcfCamera(...params: any[]): Promise<any> | {
        perspective_camera: {
            camera_view_point: {
                x: number;
                y: number;
                z: number;
            };
            camera_direction: {
                x: number;
                y: number;
                z: number;
            };
            camera_up_vector: {
                x: number;
                y: number;
                z: number;
            };
            field_of_view: number;
            target_distance: number;
            unit: string;
        };
    };
    refreshScene(...params: any[]): void;
    refreshLighting(...params: any[]): void;
    setSectionBox(...params: any[]): void | Promise<any>;
    setSectionsData(...params: any[]): boolean | Promise<any>;
    removeSectionBox(...params: any[]): void;
    addSectionPlane(...params: any[]): void;
    removeSectionPlane(...params: any[]): void;
    getSections(...params: any[]): Promise<any> | import("../sdk").SectionDataProcoreFormat | import("../sdk").SectionDataAutodeskFormat | null;
    clearSection(...params: any[]): void | Promise<any>;
    setOptions(options: any): void;
    setCanvasSelectionEnabled(...params: any[]): void;
    findFirstObject(...params: any[]): Promise<any> | import("../sdk").PublicNode | undefined;
    getNamedNode(...params: any[]): Promise<any> | import("../sdk").PublicNode | undefined;
    setEulerAngles(...params: any[]): void | Promise<any>;
    setMeasureEnabled(...params: any[]): void | Promise<any>;
    statusChange(...params: any[]): void | Promise<any>;
    onUndo(...params: any[]): void | Promise<any>;
    getMeasureEnabled(...params: any[]): boolean | Promise<any>;
    getMeasureIds(...params: any[]): Promise<any> | number[];
    removeMeasureIds(...params: any[]): void | Promise<any>;
    onRedo(...params: any[]): void | Promise<any>;
    clearMeasureIds(...params: any[]): void | Promise<any>;
    clearHidden(...params: any[]): boolean | Promise<any>;
    hasHiddenMeshnodeIndices(...params: any[]): boolean | Promise<any>;
    addSelectedMeshnodeIndices(...params: any[]): boolean | Promise<any>;
    clearAndSelectNode(...params: any[]): void | Promise<any>;
    clearAndSelectNodes(...params: any[]): void | Promise<any>;
    getNode(...params: any[]): Promise<any> | import("../sdk").PublicNode | undefined;
    getNodes(...params: any[]): any;
    setNodesSelected(...params: any[]): boolean | Promise<any>;
    getRootNode(...params: any[]): Promise<any> | import("../sdk").PublicNode | undefined;
    getSelectedMeshnodeIndices(...params: any[]): Promise<any> | number[];
    hasSelectedMeshnodeIndices(...params: any[]): boolean | Promise<any>;
    clearSelected(...params: any[]): boolean | Promise<any>;
    getFieldOfView(...params: any[]): number | Promise<any>;
    setFieldOfView(...params: any[]): void | Promise<any>;
    zoomToBoundingBox(...params: any[]): void | Promise<any>;
    setPose(...params: any[]): void | Promise<any>;
    zoomToGlobal(...params: any[]): void | Promise<any>;
    zoomToSelection(...params: any[]): void | Promise<any>;
    isolateSelectionInSectionBox(...params: any[]): void | Promise<any>;
    isolateSelection(...params: any[]): void | Promise<any>;
    zoomToNodes(...params: any[]): void | Promise<any>;
    getNumNodesSelected(...params: any[]): Promise<any> | {
        count: number;
    };
    setRenderMode(...params: any[]): void;
    getRenderMode(...params: any[]): string | Promise<any>;
    getSelectedNodeIds(...params: any[]): Promise<any> | number[];
    toggleSectionBoxDisplay(...params: any[]): void | Promise<any>;
    togglePointToPoint(...params: any[]): void | Promise<any>;
    zoomToSectionBox(...params: any[]): void | Promise<any>;
    setSectionBoxHidden(...params: any[]): void | Promise<any>;
    resetSectionBox(...params: any[]): void | Promise<any>;
    constructObjectTreeFromNodeIds(...params: any[]): Promise<any> | {
        nodeIds: number[];
        ancestors: number[];
        children: number[];
    };
    clearFilteredObjectTree(...params: any[]): void | Promise<any>;
    getSectionBoxDisplayBbox(...params: any[]): Promise<any> | import("../sdk").BoundingBox;
    getSectionsAsBox(...params: any[]): Promise<any> | import("../sectioning/SectionController").OrientedBox | null;
    setHotkeysEnabled(enabled: any): void;
    isPartitionedModel(...params: any[]): boolean | Promise<any>;
    getMeasureObjectMeshesPartition(...params: any[]): Promise<any>;
}
export namespace RenderControllerProxy {
    namespace NAVIGATION_MODE {
        let NONE: number;
        let GENERAL: number;
        let WALK: number;
        let ORBIT: number;
        let MEASURE: number;
    }
}
import { PubSubController } from './PubSubController';
import { NavigationManager } from '../navigation/NavigationManager';
import { Hotkeys } from '../navigation/Hotkeys';
import { RenderController } from './RenderController';
import { RenderControllerWorker } from './RenderControllerWorker';
import { PWFCache } from '../pwfreader/PWFCache';
