export interface MetaBase {
    Id: string;
    /**
     * @description 节点名称
     */
    Name: string;
    /**
     * @description 节点类型
     */
    Type: number;
    /**
     * @description meta.json 的路径
     */
    MetaUri: string;
    /**
     * @description 模型 id
     */
    GraphicId: string;
    /**
     * @description 模型的路径
     */
    GraphicUri: string;
    /**
     * @description 模型里的位置
     * - 这个位置指的是 `World` 世界空间坐标
     */
    GraphicPosition: {
        X: number;
        Y: number;
        Z: number;
    };
    /**
     * @description 模型里的旋转位置
     */
    GraphicRotation: {
        X: number;
        Y: number;
        Z: number;
    };
    /**
     * @description 模型里的缩放位置
     */
    GraphicScale: {
        X: number;
        Y: number;
        Z: number;
    };
    /**
     * @description 是否为设备
     */
    isDevice: boolean;
    /**
     * @description 设备 id
     * - `isDevice=true` 时，这个值为字符串
     * - `isDevice=false` 时，这个值为 null
     */
    DeviceId: string | null;
    /**
     * @description 设备名称
     * - `isDevice=true` 时，这个值为字符串
     * - `isDevice=false` 时，这个值为 null
     */
    DeviceName: string | null;
    /**
     * @description 设备类型
     * - `isDevice=true` 时，这个值为字符串
     * - `isDevice=false` 时，这个值为 null
     */
    DeviceType: string | null;
    /**
     * @description 子节点列表，没有子节点时，值为 null
     */
    children: (MetaSpace | MetaDevice)[] | null;
}
export interface MetaSpace extends MetaBase {
    isDevice: false;
    DeviceId: null;
    DeviceName: null;
    DeviceType: null;
}
export interface MetaDevice extends MetaBase {
    isDevice: true;
    DeviceId: string;
    DeviceName: string;
    DeviceType: string;
    /**
     * @description 设备标签
     */
    Tags: string[];
    /**
     * @description 模型里的经纬度
     * - 这个位置指的是 `WGS84` 经纬度坐标
     */
    GeoLocation: {
        X: number;
        Y: number;
        Z: number;
    };
}
