import { default as React } from 'react';
type LengthUnits = any;
type OrbitButton = any;
type BimfaceColor = any;
interface Viewer3DConfig {
    avatar?: any;
    backgroundColor?: string[];
    domElement?: HTMLElement;
    enableConstraintZoom?: boolean;
    enableCoordinateSystem?: number;
    enableCSMShadow?: boolean;
    enableExplosion?: boolean;
    enableHover?: boolean;
    enableIBLBackground?: boolean;
    enableLogarithmicDepthBuffer?: boolean;
    enableMouseMovePick?: boolean;
    enableOrbit?: boolean;
    enableRealisticMiniMap?: boolean;
    enableReplaceMaterial?: boolean;
    enableShortcutKey?: boolean;
    enableSplitComponent?: boolean;
    enableSSAO?: boolean;
    enableToggleContextMenuDisplay?: boolean;
    enableViewHouse?: boolean;
    enableWireframe?: boolean;
    exposure?: number;
    globalUnit?: LengthUnits;
    loadIBLScene?: object;
    memoryThreshold?: number;
    orbitButton?: OrbitButton;
    renderMode?: string;
    walkRotationSpeed?: number;
    wireframeColor?: BimfaceColor;
}
export interface BimfaceFloor {
    archElev: number;
    areas: null;
    elevation: number;
    height: null;
    id: string;
    miniMap: string;
    name: string;
    rooms: null;
    structElev: number;
}
export declare function useBimface(config?: Viewer3DConfig): {
    BimfaceViewer: any;
    BimfaceSection: any;
    BimfaceMark: any;
    BimfaceViewerEvents: any;
    viewer: any;
    viewerAdded: boolean;
    sDKLoaded: boolean;
    loadedModelCount: number;
    loadModels: (viewTokens: string[]) => void;
    setContainerDom: React.Dispatch<React.SetStateAction<HTMLDivElement | undefined>>;
    getSnapshot: (type?: "image/png" | "image/jpeg" | "image/webp", quality?: number) => string | undefined;
    setComponentsColorByCatgryId: (categoryColors: any) => void;
    setAllComponentsColor: (colorString: string) => void;
    navigationMapByHeight: (height: number, maxSize: {
        width: number;
        height: number;
    }, cb: (img: HTMLImageElement) => void) => void;
};
export {};
