import { AbstractMesh, ActionEvent, ActionManager, Animation, AnimationGroup, ArcRotateCamera, BaseTexture, Color3, Color4, CreateLines, CreateSphere, ExecuteCodeAction, FadeInOutBehavior, GroundMesh, MaterialDefines, MaterialFlags, MaterialHelper, Matrix, Mesh, MeshBuilder, Path3D, PBRMaterial, PBRMetallicRoughnessMaterial, Plane, PolygonMeshBuilder, PushMaterial, Quaternion, Ray, Scene, SceneLoader, SerializationHelper, ShaderStore, StandardMaterial, SubMesh, Tags, Texture, TransformNode, UtilityLayerRenderer, Vector2, Vector3, Vector4, VertexBuffer } from "@babylonjs/core";
import { HSMLEntity } from "./hsml-types";
import React from "react";
import { entityAccessors, renderableUtils } from "./renderables/entityRenderable";
interface IProps {
    handleRightClick: (screen: {
        x: number;
        y: number;
    }, world: Vector3) => void;
    gizmoType: string;
    handleUpsertIntoAlexandria?: (val: HSMLEntity[]) => any;
    children?: React.ReactNode;
}
export declare const HsmlViewer: ({ handleRightClick, gizmoType, handleUpsertIntoAlexandria, children, }: IProps) => import("react/jsx-runtime").JSX.Element;
declare const useChangeScene: () => {
    removeFromScene: (entities: HSMLEntity[]) => void;
    addToScene: (entities: HSMLEntity[]) => void;
    clearScene: () => void;
    addScenario: (scenarioSwid: string) => Promise<void>;
};
declare const useHsmlViewer: () => {
    entities: Record<string, {
        swid: string;
        name: string;
        description: string;
        schema: string;
        transform: {
            position: {
                x: number;
                y: number;
                z: number;
            };
            rotation: {
                x: number;
                y: number;
                z: number;
                w: number;
            };
        };
        volume: {
            x: number;
            y: number;
            z: number;
        };
        __archived: boolean | null;
        semantic_space_name?: string | undefined;
    } | {
        swid: string;
        name: string;
        schema: string[];
        volume: {
            x: number;
            y: number;
            z: number;
        };
        __archived: boolean | null;
        files: {
            name: string;
            scale: {
                x: number;
                y: number;
                z: number;
            };
            uri: string;
        }[];
        hull: {
            uri: string;
        };
    } | {
        swid: string;
        name: string;
        schema: string[];
        transform: {
            position: {
                x: number;
                y: number;
                z: number;
            };
            rotation: {
                x: number;
                y: number;
                z: number;
                w: number;
            };
            scale: {
                x: number;
                y: number;
                z: number;
            };
        };
        volume: {
            x: number;
            y: number;
            z: number;
        };
        __archived: boolean | null;
        files: {
            name: string;
            scale: {
                x: number;
                y: number;
                z: number;
            };
            uri: string;
        }[];
        hull: {
            uri: string;
        };
    }>;
    selectedEntities: string[];
    scene: import("@babylonjs/core").Nullable<Scene>;
    setSelectedEntities: (val: string[]) => void;
};
export { entityAccessors, renderableUtils, useChangeScene, useHsmlViewer };
export { useUiStore } from "./stores/useUiStore";
export { useHotKeys } from "./hooks/useHotKeys";
export { AbstractMesh, ActionEvent, ActionManager, Animation, AnimationGroup, ArcRotateCamera, BaseTexture, Color3, Color4, CreateLines, CreateSphere, ExecuteCodeAction, FadeInOutBehavior, GroundMesh, MaterialDefines, MaterialFlags, MaterialHelper, Matrix, Mesh, MeshBuilder, Path3D, PBRMaterial, PBRMetallicRoughnessMaterial, Plane, PolygonMeshBuilder, PushMaterial, Quaternion, Ray, Scene, SceneLoader, SerializationHelper, ShaderStore, StandardMaterial, SubMesh, Tags, Texture, TransformNode, UtilityLayerRenderer, Vector2, Vector3, Vector4, VertexBuffer, };
export {};
