/** @internal NOTE: Internal APIs. Subject to change. Use of these APIs in production applications is not supported. */ /** */
import { Lookup } from './lookup';
import { BimProductMesh } from './BimProductMesh';
import { BimPropertySetScalarValueType } from './bim-format-types';

export interface BimProduct {
    readonly c: number; // ifclass
    readonly n: number; // name
    readonly d: number; // description
    readonly t?: number; // Defined by type
    cl?: {
        [entityLabelInIfc: string]: BimProduct;
    }; // children
    readonly gid: string; // global id from ifc. Should be unique globally but sometimes isn't (not inside ifc and not between ifc's)
    readonly e: number; // entityLabel in ifc. Unique within the ifc but otherwise not.
    readonly m: BimProductMesh[]; // meshes
    readonly pd: Lookup<BimPropertySetScalarValueType>; // extra data for ifcclass (for example ifcFloor has elevation)
}
