import { HSMLEntity, SWID } from "../hsml-types";
import { Matrix } from "../index";
export type RenderableProps = {
    selectedEntities: SWID[];
    setSelectedEntities: (val: SWID[]) => void;
    selectedEntitiesDeltaMatrix: Matrix;
    isDragging: boolean;
};
export type EntityRenderable<T extends HSMLEntity> = {
    add: (entities: T[]) => void;
    remove: (entities: T[]) => void;
    select: (entity: T[]) => void;
    deselect: (entity: T[]) => void;
};
export declare const entityAccessors: {
    getVector3: (entity: HSMLEntity) => any;
    getPosition: (entity: HSMLEntity) => any;
    getPositionOrVector: (entity: HSMLEntity) => any;
    getRotation: (entity: HSMLEntity) => any;
    getScale: (entity: HSMLEntity) => any;
};
export declare const getMatrix: <T extends HSMLEntity>(entity: T) => Matrix;
export declare const renderableUtils: (schema: string) => false | {
    create: (props: RenderableProps) => EntityRenderable<{
        swid: string;
        name: 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;
        };
        semantic_space_name: string;
        __archived: boolean | null;
    }>;
} | {
    create: (props: RenderableProps) => EntityRenderable<import("../hsml-types").Vector3HSML>;
};
