export declare const IFCURIREFERENCE = 950732822;
export declare const IFCTIME = 4075327185;
export declare const IFCTEMPERATURERATEOFCHANGEMEASURE = 1209108979;
export declare const IFCSOUNDPRESSURELEVELMEASURE = 3457685358;
export declare const IFCSOUNDPOWERLEVELMEASURE = 4157543285;
export declare const IFCPROPERTYSETDEFINITIONSET = 2798247006;
export declare const IFCPOSITIVEINTEGER = 1790229001;
export declare const IFCNONNEGATIVELENGTHMEASURE = 525895558;
export declare const IFCLINEINDEX = 1774176899;
export declare const IFCLANGUAGEID = 1275358634;
export declare const IFCDURATION = 2541165894;
export declare const IFCDAYINWEEKNUMBER = 3701338814;
export declare const IFCDATETIME = 2195413836;
export declare const IFCDATE = 937566702;
export declare const IFCCARDINALPOINTREFERENCE = 1683019596;
export declare const IFCBINARY = 2314439260;
export declare const IFCAREADENSITYMEASURE = 1500781891;
export declare const IFCARCINDEX = 3683503648;
export declare const IFCYEARNUMBER = 4065007721;
export declare const IFCWARPINGMOMENTMEASURE = 1718600412;
export declare const IFCWARPINGCONSTANTMEASURE = 51269191;
export declare const IFCVOLUMETRICFLOWRATEMEASURE = 2593997549;
export declare const IFCVOLUMEMEASURE = 3458127941;
export declare const IFCVAPORPERMEABILITYMEASURE = 3345633955;
export declare const IFCTORQUEMEASURE = 1278329552;
export declare const IFCTIMESTAMP = 2591213694;
export declare const IFCTIMEMEASURE = 2726807636;
export declare const IFCTHERMODYNAMICTEMPERATUREMEASURE = 743184107;
export declare const IFCTHERMALTRANSMITTANCEMEASURE = 2016195849;
export declare const IFCTHERMALRESISTANCEMEASURE = 857959152;
export declare const IFCTHERMALEXPANSIONCOEFFICIENTMEASURE = 2281867870;
export declare const IFCTHERMALCONDUCTIVITYMEASURE = 2645777649;
export declare const IFCTHERMALADMITTANCEMEASURE = 232962298;
export declare const IFCTEXTTRANSFORMATION = 296282323;
export declare const IFCTEXTFONTNAME = 603696268;
export declare const IFCTEXTDECORATION = 3490877962;
export declare const IFCTEXTALIGNMENT = 1460886941;
export declare const IFCTEXT = 2801250643;
export declare const IFCTEMPERATUREGRADIENTMEASURE = 58845555;
export declare const IFCSPECULARROUGHNESS = 361837227;
export declare const IFCSPECULAREXPONENT = 2757832317;
export declare const IFCSPECIFICHEATCAPACITYMEASURE = 3477203348;
export declare const IFCSOUNDPRESSUREMEASURE = 993287707;
export declare const IFCSOUNDPOWERMEASURE = 846465480;
export declare const IFCSOLIDANGLEMEASURE = 3471399674;
export declare const IFCSHEARMODULUSMEASURE = 408310005;
export declare const IFCSECTIONALAREAINTEGRALMEASURE = 2190458107;
export declare const IFCSECTIONMODULUSMEASURE = 3467162246;
export declare const IFCSECONDINMINUTE = 2766185779;
export declare const IFCROTATIONALSTIFFNESSMEASURE = 3211557302;
export declare const IFCROTATIONALMASSMEASURE = 1755127002;
export declare const IFCROTATIONALFREQUENCYMEASURE = 2133746277;
export declare const IFCREAL = 200335297;
export declare const IFCRATIOMEASURE = 96294661;
export declare const IFCRADIOACTIVITYMEASURE = 3972513137;
export declare const IFCPRESSUREMEASURE = 3665567075;
export declare const IFCPRESENTABLETEXT = 2169031380;
export declare const IFCPOWERMEASURE = 1364037233;
export declare const IFCPOSITIVERATIOMEASURE = 1245737093;
export declare const IFCPOSITIVEPLANEANGLEMEASURE = 3054510233;
export declare const IFCPOSITIVELENGTHMEASURE = 2815919920;
export declare const IFCPLANEANGLEMEASURE = 4042175685;
export declare const IFCPLANARFORCEMEASURE = 2642773653;
export declare const IFCPARAMETERVALUE = 2260317790;
export declare const IFCPHMEASURE = 929793134;
export declare const IFCNUMERICMEASURE = 2395907400;
export declare const IFCNORMALISEDRATIOMEASURE = 2095195183;
export declare const IFCMONTHINYEARNUMBER = 765770214;
export declare const IFCMONETARYMEASURE = 2615040989;
export declare const IFCMOMENTOFINERTIAMEASURE = 3114022597;
export declare const IFCMOLECULARWEIGHTMEASURE = 1648970520;
export declare const IFCMOISTUREDIFFUSIVITYMEASURE = 3177669450;
export declare const IFCMODULUSOFSUBGRADEREACTIONMEASURE = 1753493141;
export declare const IFCMODULUSOFROTATIONALSUBGRADEREACTIONMEASURE = 1052454078;
export declare const IFCMODULUSOFLINEARSUBGRADEREACTIONMEASURE = 2173214787;
export declare const IFCMODULUSOFELASTICITYMEASURE = 3341486342;
export declare const IFCMINUTEINHOUR = 102610177;
export declare const IFCMASSPERLENGTHMEASURE = 3531705166;
export declare const IFCMASSMEASURE = 3124614049;
export declare const IFCMASSFLOWRATEMEASURE = 4017473158;
export declare const IFCMASSDENSITYMEASURE = 1477762836;
export declare const IFCMAGNETICFLUXMEASURE = 2486716878;
export declare const IFCMAGNETICFLUXDENSITYMEASURE = 286949696;
export declare const IFCLUMINOUSINTENSITYMEASURE = 151039812;
export declare const IFCLUMINOUSINTENSITYDISTRIBUTIONMEASURE = 2755797622;
export declare const IFCLUMINOUSFLUXMEASURE = 2095003142;
export declare const IFCLOGICAL = 503418787;
export declare const IFCLINEARVELOCITYMEASURE = 3086160713;
export declare const IFCLINEARSTIFFNESSMEASURE = 1307019551;
export declare const IFCLINEARMOMENTMEASURE = 2128979029;
export declare const IFCLINEARFORCEMEASURE = 191860431;
export declare const IFCLENGTHMEASURE = 1243674935;
export declare const IFCLABEL = 3258342251;
export declare const IFCKINEMATICVISCOSITYMEASURE = 2054016361;
export declare const IFCISOTHERMALMOISTURECAPACITYMEASURE = 3192672207;
export declare const IFCIONCONCENTRATIONMEASURE = 3686016028;
export declare const IFCINTEGERCOUNTRATEMEASURE = 3809634241;
export declare const IFCINTEGER = 1939436016;
export declare const IFCINDUCTANCEMEASURE = 2679005408;
export declare const IFCILLUMINANCEMEASURE = 3358199106;
export declare const IFCIDENTIFIER = 983778844;
export declare const IFCHOURINDAY = 2589826445;
export declare const IFCHEATINGVALUEMEASURE = 1158859006;
export declare const IFCHEATFLUXDENSITYMEASURE = 3113092358;
export declare const IFCGLOBALLYUNIQUEID = 3064340077;
export declare const IFCFREQUENCYMEASURE = 3044325142;
export declare const IFCFORCEMEASURE = 1361398929;
export declare const IFCFONTWEIGHT = 2590844177;
export declare const IFCFONTVARIANT = 2715512545;
export declare const IFCFONTSTYLE = 1102727119;
export declare const IFCENERGYMEASURE = 2078135608;
export declare const IFCELECTRICVOLTAGEMEASURE = 2506197118;
export declare const IFCELECTRICRESISTANCEMEASURE = 2951915441;
export declare const IFCELECTRICCURRENTMEASURE = 3790457270;
export declare const IFCELECTRICCONDUCTANCEMEASURE = 2093906313;
export declare const IFCELECTRICCHARGEMEASURE = 3818826038;
export declare const IFCELECTRICCAPACITANCEMEASURE = 1827137117;
export declare const IFCDYNAMICVISCOSITYMEASURE = 69416015;
export declare const IFCDOSEEQUIVALENTMEASURE = 524656162;
export declare const IFCDIMENSIONCOUNT = 4134073009;
export declare const IFCDESCRIPTIVEMEASURE = 1514641115;
export declare const IFCDAYLIGHTSAVINGHOUR = 300323983;
export declare const IFCDAYINMONTHNUMBER = 86635668;
export declare const IFCCURVATUREMEASURE = 94842927;
export declare const IFCCOUNTMEASURE = 1778710042;
export declare const IFCCONTEXTDEPENDENTMEASURE = 3238673880;
export declare const IFCCOMPOUNDPLANEANGLEMEASURE = 3812528620;
export declare const IFCCOMPLEXNUMBER = 2991860651;
export declare const IFCBOXALIGNMENT = 1867003952;
export declare const IFCBOOLEAN = 2735952531;
export declare const IFCAREAMEASURE = 2650437152;
export declare const IFCANGULARVELOCITYMEASURE = 632304761;
export declare const IFCAMOUNTOFSUBSTANCEMEASURE = 360377573;
export declare const IFCACCELERATIONMEASURE = 4182062534;
export declare const IFCABSORBEDDOSEMEASURE = 3699917729;
export declare const IFCGEOSLICE = 1971632696;
export declare const IFCGEOMODEL = 2680139844;
export declare const IFCELECTRICFLOWTREATMENTDEVICE = 24726584;
export declare const IFCDISTRIBUTIONBOARD = 3693000487;
export declare const IFCCONVEYORSEGMENT = 3460952963;
export declare const IFCCAISSONFOUNDATION = 3999819293;
export declare const IFCBOREHOLE = 3314249567;
export declare const IFCBEARING = 4196446775;
export declare const IFCALIGNMENT = 325726236;
export declare const IFCTRACKELEMENT = 3425753595;
export declare const IFCSIGNAL = 991950508;
export declare const IFCREINFORCEDSOIL = 3798194928;
export declare const IFCRAIL = 3290496277;
export declare const IFCPAVEMENT = 1383356374;
export declare const IFCNAVIGATIONELEMENT = 2182337498;
export declare const IFCMOORINGDEVICE = 234836483;
export declare const IFCMOBILETELECOMMUNICATIONSAPPLIANCE = 2078563270;
export declare const IFCLIQUIDTERMINAL = 1638804497;
export declare const IFCLINEARPOSITIONINGELEMENT = 1154579445;
export declare const IFCKERB = 2696325953;
export declare const IFCGEOTECHNICALASSEMBLY = 2713699986;
export declare const IFCELECTRICFLOWTREATMENTDEVICETYPE = 2142170206;
export declare const IFCEARTHWORKSFILL = 3376911765;
export declare const IFCEARTHWORKSELEMENT = 1077100507;
export declare const IFCEARTHWORKSCUT = 3071239417;
export declare const IFCDISTRIBUTIONBOARDTYPE = 479945903;
export declare const IFCDEEPFOUNDATION = 3426335179;
export declare const IFCCOURSE = 1502416096;
export declare const IFCCONVEYORSEGMENTTYPE = 2940368186;
export declare const IFCCAISSONFOUNDATIONTYPE = 3203706013;
export declare const IFCBUILTSYSTEM = 3862327254;
export declare const IFCBUILTELEMENT = 1876633798;
export declare const IFCBRIDGEPART = 963979645;
export declare const IFCBRIDGE = 644574406;
export declare const IFCBEARINGTYPE = 3649138523;
export declare const IFCALIGNMENTVERTICAL = 1662888072;
export declare const IFCALIGNMENTSEGMENT = 317615605;
export declare const IFCALIGNMENTHORIZONTAL = 1545765605;
export declare const IFCALIGNMENTCANT = 4266260250;
export declare const IFCVIBRATIONDAMPERTYPE = 3956297820;
export declare const IFCVIBRATIONDAMPER = 1530820697;
export declare const IFCVEHICLE = 840318589;
export declare const IFCTRANSPORTATIONDEVICE = 1953115116;
export declare const IFCTRACKELEMENTTYPE = 618700268;
export declare const IFCTENDONCONDUITTYPE = 2281632017;
export declare const IFCTENDONCONDUIT = 3663046924;
export declare const IFCSINESPIRAL = 42703149;
export declare const IFCSIGNALTYPE = 1894708472;
export declare const IFCSIGNTYPE = 3599934289;
export declare const IFCSIGN = 33720170;
export declare const IFCSEVENTHORDERPOLYNOMIALSPIRAL = 1027922057;
export declare const IFCSEGMENTEDREFERENCECURVE = 544395925;
export declare const IFCSECONDORDERPOLYNOMIALSPIRAL = 3649235739;
export declare const IFCROADPART = 550521510;
export declare const IFCROAD = 146592293;
export declare const IFCRELADHERESTOELEMENT = 3818125796;
export declare const IFCREFERENT = 4021432810;
export declare const IFCRAILWAYPART = 1891881377;
export declare const IFCRAILWAY = 3992365140;
export declare const IFCRAILTYPE = 1763565496;
export declare const IFCPOSITIONINGELEMENT = 1946335990;
export declare const IFCPAVEMENTTYPE = 514975943;
export declare const IFCNAVIGATIONELEMENTTYPE = 506776471;
export declare const IFCMOORINGDEVICETYPE = 710110818;
export declare const IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE = 1950438474;
export declare const IFCMARINEPART = 976884017;
export declare const IFCMARINEFACILITY = 525669439;
export declare const IFCLIQUIDTERMINALTYPE = 1770583370;
export declare const IFCLINEARELEMENT = 2176059722;
export declare const IFCKERBTYPE = 679976338;
export declare const IFCIMPACTPROTECTIONDEVICETYPE = 3948183225;
export declare const IFCIMPACTPROTECTIONDEVICE = 2568555532;
export declare const IFCGRADIENTCURVE = 2898700619;
export declare const IFCGEOTECHNICALSTRATUM = 1594536857;
export declare const IFCGEOTECHNICALELEMENT = 4230923436;
export declare const IFCFACILITYPARTCOMMON = 4228831410;
export declare const IFCFACILITYPART = 1310830890;
export declare const IFCFACILITY = 24185140;
export declare const IFCDIRECTRIXDERIVEDREFERENCESWEPTAREASOLID = 4234616927;
export declare const IFCDEEPFOUNDATIONTYPE = 1306400036;
export declare const IFCCOURSETYPE = 4189326743;
export declare const IFCCOSINESPIRAL = 2000195564;
export declare const IFCCLOTHOID = 3497074424;
export declare const IFCBUILTELEMENTTYPE = 1626504194;
export declare const IFCVEHICLETYPE = 3651464721;
export declare const IFCTRIANGULATEDIRREGULARNETWORK = 1229763772;
export declare const IFCTRANSPORTATIONDEVICETYPE = 3665877780;
export declare const IFCTHIRDORDERPOLYNOMIALSPIRAL = 782932809;
export declare const IFCSPIRAL = 2735484536;
export declare const IFCSECTIONEDSURFACE = 1356537516;
export declare const IFCSECTIONEDSOLIDHORIZONTAL = 1290935644;
export declare const IFCSECTIONEDSOLID = 1862484736;
export declare const IFCRELPOSITIONS = 1441486842;
export declare const IFCRELASSOCIATESPROFILEDEF = 1033248425;
export declare const IFCPOLYNOMIALCURVE = 3381221214;
export declare const IFCOFFSETCURVEBYDISTANCES = 2485787929;
export declare const IFCOFFSETCURVE = 590820931;
export declare const IFCINDEXEDPOLYGONALTEXTUREMAP = 3465909080;
export declare const IFCDIRECTRIXCURVESWEPTAREASOLID = 593015953;
export declare const IFCCURVESEGMENT = 4212018352;
export declare const IFCAXIS2PLACEMENTLINEAR = 3425423356;
export declare const IFCSEGMENT = 823603102;
export declare const IFCPOINTBYDISTANCEEXPRESSION = 2165702409;
export declare const IFCOPENCROSSPROFILEDEF = 182550632;
export declare const IFCLINEARPLACEMENT = 388784114;
export declare const IFCALIGNMENTHORIZONTALSEGMENT = 536804194;
export declare const IFCALIGNMENTCANTSEGMENT = 3752311538;
export declare const IFCTEXTURECOORDINATEINDICESWITHVOIDS = 1010789467;
export declare const IFCTEXTURECOORDINATEINDICES = 222769930;
export declare const IFCQUANTITYNUMBER = 2691318326;
export declare const IFCALIGNMENTVERTICALSEGMENT = 3633395639;
export declare const IFCALIGNMENTPARAMETERSEGMENT = 2879124712;
export declare const IFCCONTROLLER = 25142252;
export declare const IFCALARM = 3087945054;
export declare const IFCACTUATOR = 4288193352;
export declare const IFCUNITARYCONTROLELEMENT = 630975310;
export declare const IFCSENSOR = 4086658281;
export declare const IFCPROTECTIVEDEVICETRIPPINGUNIT = 2295281155;
export declare const IFCFLOWINSTRUMENT = 182646315;
export declare const IFCFIRESUPPRESSIONTERMINAL = 1426591983;
export declare const IFCFILTER = 819412036;
export declare const IFCFAN = 3415622556;
export declare const IFCELECTRICTIMECONTROL = 1003880860;
export declare const IFCELECTRICMOTOR = 402227799;
export declare const IFCELECTRICGENERATOR = 264262732;
export declare const IFCELECTRICFLOWSTORAGEDEVICE = 3310460725;
export declare const IFCELECTRICDISTRIBUTIONBOARD = 862014818;
export declare const IFCELECTRICAPPLIANCE = 1904799276;
export declare const IFCDUCTSILENCER = 1360408905;
export declare const IFCDUCTSEGMENT = 3518393246;
export declare const IFCDUCTFITTING = 342316401;
export declare const IFCDISTRIBUTIONCIRCUIT = 562808652;
export declare const IFCDAMPER = 4074379575;
export declare const IFCCOOLINGTOWER = 3640358203;
export declare const IFCCOOLEDBEAM = 4136498852;
export declare const IFCCONDENSER = 2272882330;
export declare const IFCCOMPRESSOR = 3571504051;
export declare const IFCCOMMUNICATIONSAPPLIANCE = 3221913625;
export declare const IFCCOIL = 639361253;
export declare const IFCCHILLER = 3902619387;
export declare const IFCCABLESEGMENT = 4217484030;
export declare const IFCCABLEFITTING = 1051757585;
export declare const IFCCABLECARRIERSEGMENT = 3758799889;
export declare const IFCCABLECARRIERFITTING = 635142910;
export declare const IFCBURNER = 2938176219;
export declare const IFCBOILER = 32344328;
export declare const IFCBEAMSTANDARDCASE = 2906023776;
export declare const IFCAUDIOVISUALAPPLIANCE = 277319702;
export declare const IFCAIRTOAIRHEATRECOVERY = 2056796094;
export declare const IFCAIRTERMINALBOX = 177149247;
export declare const IFCAIRTERMINAL = 1634111441;
export declare const IFCWINDOWSTANDARDCASE = 486154966;
export declare const IFCWASTETERMINAL = 4237592921;
export declare const IFCWALLELEMENTEDCASE = 4156078855;
export declare const IFCVALVE = 4207607924;
export declare const IFCUNITARYEQUIPMENT = 4292641817;
export declare const IFCUNITARYCONTROLELEMENTTYPE = 3179687236;
export declare const IFCTUBEBUNDLE = 3026737570;
export declare const IFCTRANSFORMER = 3825984169;
export declare const IFCTANK = 812556717;
export declare const IFCSWITCHINGDEVICE = 1162798199;
export declare const IFCSTRUCTURALLOADCASE = 385403989;
export declare const IFCSTACKTERMINAL = 1404847402;
export declare const IFCSPACEHEATER = 1999602285;
export declare const IFCSOLARDEVICE = 3420628829;
export declare const IFCSLABSTANDARDCASE = 3027962421;
export declare const IFCSLABELEMENTEDCASE = 3127900445;
export declare const IFCSHADINGDEVICE = 1329646415;
export declare const IFCSANITARYTERMINAL = 3053780830;
export declare const IFCREINFORCINGBARTYPE = 2572171363;
export declare const IFCRATIONALBSPLINECURVEWITHKNOTS = 1232101972;
export declare const IFCPUMP = 90941305;
export declare const IFCPROTECTIVEDEVICETRIPPINGUNITTYPE = 655969474;
export declare const IFCPROTECTIVEDEVICE = 738039164;
export declare const IFCPLATESTANDARDCASE = 1156407060;
export declare const IFCPIPESEGMENT = 3612865200;
export declare const IFCPIPEFITTING = 310824031;
export declare const IFCOUTLET = 3694346114;
export declare const IFCOUTERBOUNDARYCURVE = 144952367;
export declare const IFCMOTORCONNECTION = 2474470126;
export declare const IFCMEMBERSTANDARDCASE = 1911478936;
export declare const IFCMEDICALDEVICE = 1437502449;
export declare const IFCLIGHTFIXTURE = 629592764;
export declare const IFCLAMP = 76236018;
export declare const IFCJUNCTIONBOX = 2176052936;
export declare const IFCINTERCEPTOR = 4175244083;
export declare const IFCHUMIDIFIER = 2068733104;
export declare const IFCHEATEXCHANGER = 3319311131;
export declare const IFCFLOWMETER = 2188021234;
export declare const IFCEXTERNALSPATIALELEMENT = 1209101575;
export declare const IFCEVAPORATOR = 484807127;
export declare const IFCEVAPORATIVECOOLER = 3747195512;
export declare const IFCENGINE = 2814081492;
export declare const IFCELECTRICDISTRIBUTIONBOARDTYPE = 2417008758;
export declare const IFCDOORSTANDARDCASE = 3242481149;
export declare const IFCDISTRIBUTIONSYSTEM = 3205830791;
export declare const IFCCOMMUNICATIONSAPPLIANCETYPE = 400855858;
export declare const IFCCOLUMNSTANDARDCASE = 905975707;
export declare const IFCCIVILELEMENT = 1677625105;
export declare const IFCCHIMNEY = 3296154744;
export declare const IFCCABLEFITTINGTYPE = 2674252688;
export declare const IFCBURNERTYPE = 2188180465;
export declare const IFCBUILDINGSYSTEM = 1177604601;
export declare const IFCBUILDINGELEMENTPARTTYPE = 39481116;
export declare const IFCBOUNDARYCURVE = 1136057603;
export declare const IFCBSPLINECURVEWITHKNOTS = 2461110595;
export declare const IFCAUDIOVISUALAPPLIANCETYPE = 1532957894;
export declare const IFCWORKCALENDAR = 4088093105;
export declare const IFCWINDOWTYPE = 4009809668;
export declare const IFCVOIDINGFEATURE = 926996030;
export declare const IFCVIBRATIONISOLATOR = 2391383451;
export declare const IFCTENDONTYPE = 2415094496;
export declare const IFCTENDONANCHORTYPE = 3081323446;
export declare const IFCSYSTEMFURNITUREELEMENT = 413509423;
export declare const IFCSURFACEFEATURE = 3101698114;
export declare const IFCSTRUCTURALSURFACEACTION = 3657597509;
export declare const IFCSTRUCTURALCURVEREACTION = 2757150158;
export declare const IFCSTRUCTURALCURVEACTION = 1004757350;
export declare const IFCSTAIRTYPE = 338393293;
export declare const IFCSOLARDEVICETYPE = 1072016465;
export declare const IFCSHADINGDEVICETYPE = 4074543187;
export declare const IFCSEAMCURVE = 2157484638;
export declare const IFCROOFTYPE = 2781568857;
export declare const IFCREINFORCINGMESHTYPE = 2310774935;
export declare const IFCREINFORCINGELEMENTTYPE = 964333572;
export declare const IFCRATIONALBSPLINESURFACEWITHKNOTS = 683857671;
export declare const IFCRAMPTYPE = 1469900589;
export declare const IFCPOLYGONALFACESET = 2839578677;
export declare const IFCPILETYPE = 1158309216;
export declare const IFCOPENINGSTANDARDCASE = 3079942009;
export declare const IFCMEDICALDEVICETYPE = 1114901282;
export declare const IFCINTERSECTIONCURVE = 3113134337;
export declare const IFCINTERCEPTORTYPE = 3946677679;
export declare const IFCINDEXEDPOLYCURVE = 2571569899;
export declare const IFCGEOGRAPHICELEMENT = 3493046030;
export declare const IFCFURNITURE = 1509553395;
export declare const IFCFOOTINGTYPE = 1893162501;
export declare const IFCEXTERNALSPATIALSTRUCTUREELEMENT = 2853485674;
export declare const IFCEVENT = 4148101412;
export declare const IFCENGINETYPE = 132023988;
export declare const IFCELEMENTASSEMBLYTYPE = 2397081782;
export declare const IFCDOORTYPE = 2323601079;
export declare const IFCCYLINDRICALSURFACE = 1213902940;
export declare const IFCCONSTRUCTIONPRODUCTRESOURCETYPE = 1525564444;
export declare const IFCCONSTRUCTIONMATERIALRESOURCETYPE = 4105962743;
export declare const IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE = 2185764099;
export declare const IFCCOMPOSITECURVEONSURFACE = 15328376;
export declare const IFCCOMPLEXPROPERTYTEMPLATE = 3875453745;
export declare const IFCCIVILELEMENTTYPE = 3893394355;
export declare const IFCCHIMNEYTYPE = 2197970202;
export declare const IFCBSPLINESURFACEWITHKNOTS = 167062518;
export declare const IFCBSPLINESURFACE = 2887950389;
export declare const IFCADVANCEDBREPWITHVOIDS = 2603310189;
export declare const IFCADVANCEDBREP = 1635779807;
export declare const IFCTRIANGULATEDFACESET = 2916149573;
export declare const IFCTOROIDALSURFACE = 1935646853;
export declare const IFCTESSELLATEDFACESET = 2387106220;
export declare const IFCTASKTYPE = 3206491090;
export declare const IFCSURFACECURVE = 699246055;
export declare const IFCSUBCONTRACTRESOURCETYPE = 4095615324;
export declare const IFCSTRUCTURALSURFACEREACTION = 603775116;
export declare const IFCSPHERICALSURFACE = 4015995234;
export declare const IFCSPATIALZONETYPE = 2481509218;
export declare const IFCSPATIALZONE = 463610769;
export declare const IFCSPATIALELEMENTTYPE = 710998568;
export declare const IFCSPATIALELEMENT = 1412071761;
export declare const IFCSIMPLEPROPERTYTEMPLATE = 3663146110;
export declare const IFCREVOLVEDAREASOLIDTAPERED = 3243963512;
export declare const IFCREPARAMETRISEDCOMPOSITECURVESEGMENT = 816062949;
export declare const IFCRELSPACEBOUNDARY2NDLEVEL = 1521410863;
export declare const IFCRELSPACEBOUNDARY1STLEVEL = 3523091289;
export declare const IFCRELINTERFERESELEMENTS = 427948657;
export declare const IFCRELDEFINESBYTEMPLATE = 307848117;
export declare const IFCRELDEFINESBYOBJECT = 1462361463;
export declare const IFCRELDECLARES = 2565941209;
export declare const IFCRELASSIGNSTOGROUPBYFACTOR = 1027710054;
export declare const IFCPROPERTYTEMPLATE = 3521284610;
export declare const IFCPROPERTYSETTEMPLATE = 492091185;
export declare const IFCPROJECTLIBRARY = 653396225;
export declare const IFCPROCEDURETYPE = 569719735;
export declare const IFCPREDEFINEDPROPERTYSET = 3967405729;
export declare const IFCPCURVE = 1682466193;
export declare const IFCLABORRESOURCETYPE = 428585644;
export declare const IFCINDEXEDPOLYGONALFACEWITHVOIDS = 2294589976;
export declare const IFCINDEXEDPOLYGONALFACE = 178912537;
export declare const IFCGEOGRAPHICELEMENTTYPE = 4095422895;
export declare const IFCFIXEDREFERENCESWEPTAREASOLID = 2652556860;
export declare const IFCEXTRUDEDAREASOLIDTAPERED = 2804161546;
export declare const IFCEVENTTYPE = 4024345920;
export declare const IFCCURVEBOUNDEDSURFACE = 2629017746;
export declare const IFCCREWRESOURCETYPE = 1815067380;
export declare const IFCCONTEXT = 3419103109;
export declare const IFCCONSTRUCTIONRESOURCETYPE = 2574617495;
export declare const IFCCARTESIANPOINTLIST3D = 2059837836;
export declare const IFCCARTESIANPOINTLIST2D = 1675464909;
export declare const IFCCARTESIANPOINTLIST = 574549367;
export declare const IFCADVANCEDFACE = 3406155212;
export declare const IFCTYPERESOURCE = 3698973494;
export declare const IFCTYPEPROCESS = 3736923433;
export declare const IFCTESSELLATEDITEM = 901063453;
export declare const IFCSWEPTDISKSOLIDPOLYGONAL = 1096409881;
export declare const IFCRESOURCETIME = 1042787934;
export declare const IFCRESOURCECONSTRAINTRELATIONSHIP = 1608871552;
export declare const IFCRESOURCEAPPROVALRELATIONSHIP = 2943643501;
export declare const IFCQUANTITYSET = 2090586900;
export declare const IFCPROPERTYTEMPLATEDEFINITION = 1482703590;
export declare const IFCPREDEFINEDPROPERTIES = 3778827333;
export declare const IFCMIRROREDPROFILEDEF = 2998442950;
export declare const IFCMATERIALRELATIONSHIP = 853536259;
export declare const IFCMATERIALPROFILESETUSAGETAPERING = 3404854881;
export declare const IFCMATERIALPROFILESETUSAGE = 3079605661;
export declare const IFCMATERIALCONSTITUENTSET = 2852063980;
export declare const IFCMATERIALCONSTITUENT = 3708119000;
export declare const IFCLAGTIME = 1585845231;
export declare const IFCINDEXEDTRIANGLETEXTUREMAP = 2133299955;
export declare const IFCINDEXEDTEXTUREMAP = 1437953363;
export declare const IFCINDEXEDCOLOURMAP = 3570813810;
export declare const IFCEXTERNALREFERENCERELATIONSHIP = 1437805879;
export declare const IFCEXTENDEDPROPERTIES = 297599258;
export declare const IFCEVENTTIME = 211053100;
export declare const IFCCONVERSIONBASEDUNITWITHOFFSET = 2713554722;
export declare const IFCCOLOURRGBLIST = 3285139300;
export declare const IFCWORKTIME = 1236880293;
export declare const IFCTIMEPERIOD = 1199560280;
export declare const IFCTEXTUREVERTEXLIST = 3611470254;
export declare const IFCTASKTIMERECURRING = 2771591690;
export declare const IFCTASKTIME = 1549132990;
export declare const IFCTABLECOLUMN = 2043862942;
export declare const IFCSURFACEREINFORCEMENTAREA = 2934153892;
export declare const IFCSTRUCTURALLOADORRESULT = 609421318;
export declare const IFCSTRUCTURALLOADCONFIGURATION = 3478079324;
export declare const IFCSCHEDULINGTIME = 1054537805;
export declare const IFCRESOURCELEVELRELATIONSHIP = 2439245199;
export declare const IFCREFERENCE = 2433181523;
export declare const IFCRECURRENCEPATTERN = 3915482550;
export declare const IFCPROPERTYABSTRACTION = 986844984;
export declare const IFCPROJECTEDCRS = 3843373140;
export declare const IFCPRESENTATIONITEM = 677532197;
export declare const IFCMATERIALUSAGEDEFINITION = 1507914824;
export declare const IFCMATERIALPROFILEWITHOFFSETS = 552965576;
export declare const IFCMATERIALPROFILESET = 164193824;
export declare const IFCMATERIALPROFILE = 2235152071;
export declare const IFCMATERIALLAYERWITHOFFSETS = 1847252529;
export declare const IFCMATERIALDEFINITION = 760658860;
export declare const IFCMAPCONVERSION = 3057273783;
export declare const IFCEXTERNALINFORMATION = 4294318154;
export declare const IFCCOORDINATEREFERENCESYSTEM = 1466758467;
export declare const IFCCOORDINATEOPERATION = 1785450214;
export declare const IFCCONNECTIONVOLUMEGEOMETRY = 775493141;
export declare const IFCREINFORCINGBAR = 979691226;
export declare const IFCELECTRICDISTRIBUTIONPOINT = 3700593921;
export declare const IFCDISTRIBUTIONCONTROLELEMENT = 1062813311;
export declare const IFCDISTRIBUTIONCHAMBERELEMENT = 1052013943;
export declare const IFCCONTROLLERTYPE = 578613899;
export declare const IFCCHAMFEREDGEFEATURE = 2454782716;
export declare const IFCBEAM = 753842376;
export declare const IFCALARMTYPE = 3001207471;
export declare const IFCACTUATORTYPE = 2874132201;
export declare const IFCWINDOW = 3304561284;
export declare const IFCWALLSTANDARDCASE = 3512223829;
export declare const IFCWALL = 2391406946;
export declare const IFCVIBRATIONISOLATORTYPE = 3313531582;
export declare const IFCTENDONANCHOR = 2347447852;
export declare const IFCTENDON = 3824725483;
export declare const IFCSTRUCTURALANALYSISMODEL = 2515109513;
export declare const IFCSTAIRFLIGHT = 4252922144;
export declare const IFCSTAIR = 331165859;
export declare const IFCSLAB = 1529196076;
export declare const IFCSENSORTYPE = 1783015770;
export declare const IFCROUNDEDEDGEFEATURE = 1376911519;
export declare const IFCROOF = 2016517767;
export declare const IFCREINFORCINGMESH = 2320036040;
export declare const IFCREINFORCINGELEMENT = 3027567501;
export declare const IFCRATIONALBEZIERCURVE = 3055160366;
export declare const IFCRAMPFLIGHT = 3283111854;
export declare const IFCRAMP = 3024970846;
export declare const IFCRAILING = 2262370178;
export declare const IFCPLATE = 3171933400;
export declare const IFCPILE = 1687234759;
export declare const IFCMEMBER = 1073191201;
export declare const IFCFOOTING = 900683007;
export declare const IFCFLOWTREATMENTDEVICE = 3508470533;
export declare const IFCFLOWTERMINAL = 2223149337;
export declare const IFCFLOWSTORAGEDEVICE = 707683696;
export declare const IFCFLOWSEGMENT = 987401354;
export declare const IFCFLOWMOVINGDEVICE = 3132237377;
export declare const IFCFLOWINSTRUMENTTYPE = 4037862832;
export declare const IFCFLOWFITTING = 4278956645;
export declare const IFCFLOWCONTROLLER = 2058353004;
export declare const IFCFIRESUPPRESSIONTERMINALTYPE = 4222183408;
export declare const IFCFILTERTYPE = 1810631287;
export declare const IFCFANTYPE = 346874300;
export declare const IFCENERGYCONVERSIONDEVICE = 1658829314;
export declare const IFCELECTRICALELEMENT = 857184966;
export declare const IFCELECTRICALCIRCUIT = 1634875225;
export declare const IFCELECTRICTIMECONTROLTYPE = 712377611;
export declare const IFCELECTRICMOTORTYPE = 1217240411;
export declare const IFCELECTRICHEATERTYPE = 1365060375;
export declare const IFCELECTRICGENERATORTYPE = 1534661035;
export declare const IFCELECTRICFLOWSTORAGEDEVICETYPE = 3277789161;
export declare const IFCELECTRICAPPLIANCETYPE = 663422040;
export declare const IFCEDGEFEATURE = 855621170;
export declare const IFCDUCTSILENCERTYPE = 2030761528;
export declare const IFCDUCTSEGMENTTYPE = 3760055223;
export declare const IFCDUCTFITTINGTYPE = 869906466;
export declare const IFCDOOR = 395920057;
export declare const IFCDISTRIBUTIONPORT = 3041715199;
export declare const IFCDISTRIBUTIONFLOWELEMENT = 3040386961;
export declare const IFCDISTRIBUTIONELEMENT = 1945004755;
export declare const IFCDISTRIBUTIONCONTROLELEMENTTYPE = 2063403501;
export declare const IFCDISTRIBUTIONCHAMBERELEMENTTYPE = 1599208980;
export declare const IFCDISCRETEACCESSORYTYPE = 2635815018;
export declare const IFCDISCRETEACCESSORY = 1335981549;
export declare const IFCDIAMETERDIMENSION = 4147604152;
export declare const IFCDAMPERTYPE = 3961806047;
export declare const IFCCURTAINWALL = 3495092785;
export declare const IFCCOVERING = 1973544240;
export declare const IFCCOOLINGTOWERTYPE = 2954562838;
export declare const IFCCOOLEDBEAMTYPE = 335055490;
export declare const IFCCONSTRUCTIONPRODUCTRESOURCE = 488727124;
export declare const IFCCONSTRUCTIONMATERIALRESOURCE = 1060000209;
export declare const IFCCONSTRUCTIONEQUIPMENTRESOURCE = 3898045240;
export declare const IFCCONDITIONCRITERION = 1163958913;
export declare const IFCCONDITION = 2188551683;
export declare const IFCCONDENSERTYPE = 2816379211;
export declare const IFCCOMPRESSORTYPE = 3850581409;
export declare const IFCCOLUMN = 843113511;
export declare const IFCCOILTYPE = 2301859152;
export declare const IFCCIRCLE = 2611217952;
export declare const IFCCHILLERTYPE = 2951183804;
export declare const IFCCABLESEGMENTTYPE = 1285652485;
export declare const IFCCABLECARRIERSEGMENTTYPE = 3293546465;
export declare const IFCCABLECARRIERFITTINGTYPE = 395041908;
export declare const IFCBUILDINGELEMENTPROXYTYPE = 1909888760;
export declare const IFCBUILDINGELEMENTPROXY = 1095909175;
export declare const IFCBUILDINGELEMENTPART = 2979338954;
export declare const IFCBUILDINGELEMENTCOMPONENT = 52481810;
export declare const IFCBUILDINGELEMENT = 3299480353;
export declare const IFCBOILERTYPE = 231477066;
export declare const IFCBEZIERCURVE = 1916977116;
export declare const IFCBEAMTYPE = 819618141;
export declare const IFCBSPLINECURVE = 1967976161;
export declare const IFCASSET = 3460190687;
export declare const IFCANGULARDIMENSION = 2470393545;
export declare const IFCAIRTOAIRHEATRECOVERYTYPE = 1871374353;
export declare const IFCAIRTERMINALTYPE = 3352864051;
export declare const IFCAIRTERMINALBOXTYPE = 1411407467;
export declare const IFCACTIONREQUEST = 3821786052;
export declare const IFC2DCOMPOSITECURVE = 1213861670;
export declare const IFCZONE = 1033361043;
export declare const IFCWORKSCHEDULE = 3342526732;
export declare const IFCWORKPLAN = 4218914973;
export declare const IFCWORKCONTROL = 1028945134;
export declare const IFCWASTETERMINALTYPE = 1133259667;
export declare const IFCWALLTYPE = 1898987631;
export declare const IFCVIRTUALELEMENT = 2769231204;
export declare const IFCVALVETYPE = 728799441;
export declare const IFCUNITARYEQUIPMENTTYPE = 1911125066;
export declare const IFCTUBEBUNDLETYPE = 1600972822;
export declare const IFCTRIMMEDCURVE = 3593883385;
export declare const IFCTRANSPORTELEMENT = 1620046519;
export declare const IFCTRANSFORMERTYPE = 1692211062;
export declare const IFCTIMESERIESSCHEDULE = 1637806684;
export declare const IFCTANKTYPE = 5716631;
export declare const IFCSYSTEM = 2254336722;
export declare const IFCSWITCHINGDEVICETYPE = 2315554128;
export declare const IFCSUBCONTRACTRESOURCE = 148013059;
export declare const IFCSTRUCTURALSURFACECONNECTION = 1975003073;
export declare const IFCSTRUCTURALRESULTGROUP = 2986769608;
export declare const IFCSTRUCTURALPOINTREACTION = 1235345126;
export declare const IFCSTRUCTURALPOINTCONNECTION = 734778138;
export declare const IFCSTRUCTURALPOINTACTION = 2082059205;
export declare const IFCSTRUCTURALPLANARACTIONVARYING = 3987759626;
export declare const IFCSTRUCTURALPLANARACTION = 1621171031;
export declare const IFCSTRUCTURALLOADGROUP = 1252848954;
export declare const IFCSTRUCTURALLINEARACTIONVARYING = 1721250024;
export declare const IFCSTRUCTURALLINEARACTION = 1807405624;
export declare const IFCSTRUCTURALCURVEMEMBERVARYING = 2445595289;
export declare const IFCSTRUCTURALCURVEMEMBER = 214636428;
export declare const IFCSTRUCTURALCURVECONNECTION = 4243806635;
export declare const IFCSTRUCTURALCONNECTION = 1179482911;
export declare const IFCSTRUCTURALACTION = 682877961;
export declare const IFCSTAIRFLIGHTTYPE = 1039846685;
export declare const IFCSTACKTERMINALTYPE = 3112655638;
export declare const IFCSPACETYPE = 3812236995;
export declare const IFCSPACEPROGRAM = 652456506;
export declare const IFCSPACEHEATERTYPE = 1305183839;
export declare const IFCSPACE = 3856911033;
export declare const IFCSLABTYPE = 2533589738;
export declare const IFCSITE = 4097777520;
export declare const IFCSERVICELIFE = 4105383287;
export declare const IFCSCHEDULETIMECONTROL = 3517283431;
export declare const IFCSANITARYTERMINALTYPE = 1768891740;
export declare const IFCRELASSIGNSTASKS = 2863920197;
export declare const IFCRELAGGREGATES = 160246688;
export declare const IFCRAMPFLIGHTTYPE = 2324767716;
export declare const IFCRAILINGTYPE = 2893384427;
export declare const IFCRADIUSDIMENSION = 3248260540;
export declare const IFCPUMPTYPE = 2250791053;
export declare const IFCPROTECTIVEDEVICETYPE = 1842657554;
export declare const IFCPROJECTIONELEMENT = 3651124850;
export declare const IFCPROJECTORDERRECORD = 3642467123;
export declare const IFCPROJECTORDER = 2904328755;
export declare const IFCPROCEDURE = 2744685151;
export declare const IFCPORT = 3740093272;
export declare const IFCPOLYLINE = 3724593414;
export declare const IFCPLATETYPE = 4017108033;
export declare const IFCPIPESEGMENTTYPE = 4231323485;
export declare const IFCPIPEFITTINGTYPE = 804291784;
export declare const IFCPERMIT = 3327091369;
export declare const IFCPERFORMANCEHISTORY = 2382730787;
export declare const IFCOUTLETTYPE = 2837617999;
export declare const IFCORDERACTION = 3425660407;
export declare const IFCOPENINGELEMENT = 3588315303;
export declare const IFCOCCUPANT = 4143007308;
export declare const IFCMOVE = 1916936684;
export declare const IFCMOTORCONNECTIONTYPE = 977012517;
export declare const IFCMEMBERTYPE = 3181161470;
export declare const IFCMECHANICALFASTENERTYPE = 2108223431;
export declare const IFCMECHANICALFASTENER = 377706215;
export declare const IFCLINEARDIMENSION = 2506943328;
export declare const IFCLIGHTFIXTURETYPE = 1161773419;
export declare const IFCLAMPTYPE = 1051575348;
export declare const IFCLABORRESOURCE = 3827777499;
export declare const IFCJUNCTIONBOXTYPE = 4288270099;
export declare const IFCINVENTORY = 2391368822;
export declare const IFCHUMIDIFIERTYPE = 1806887404;
export declare const IFCHEATEXCHANGERTYPE = 1251058090;
export declare const IFCGROUP = 2706460486;
export declare const IFCGRID = 3009204131;
export declare const IFCGASTERMINALTYPE = 200128114;
export declare const IFCFURNITURESTANDARD = 814719939;
export declare const IFCFURNISHINGELEMENT = 263784265;
export declare const IFCFLOWTREATMENTDEVICETYPE = 3009222698;
export declare const IFCFLOWTERMINALTYPE = 2297155007;
export declare const IFCFLOWSTORAGEDEVICETYPE = 1339347760;
export declare const IFCFLOWSEGMENTTYPE = 1834744321;
export declare const IFCFLOWMOVINGDEVICETYPE = 1482959167;
export declare const IFCFLOWMETERTYPE = 3815607619;
export declare const IFCFLOWFITTINGTYPE = 3198132628;
export declare const IFCFLOWCONTROLLERTYPE = 3907093117;
export declare const IFCFEATUREELEMENTSUBTRACTION = 1287392070;
export declare const IFCFEATUREELEMENTADDITION = 2143335405;
export declare const IFCFEATUREELEMENT = 2827207264;
export declare const IFCFASTENERTYPE = 2489546625;
export declare const IFCFASTENER = 647756555;
export declare const IFCFACETEDBREPWITHVOIDS = 3737207727;
export declare const IFCFACETEDBREP = 807026263;
export declare const IFCEVAPORATORTYPE = 3390157468;
export declare const IFCEVAPORATIVECOOLERTYPE = 3174744832;
export declare const IFCEQUIPMENTSTANDARD = 3272907226;
export declare const IFCEQUIPMENTELEMENT = 1962604670;
export declare const IFCENERGYCONVERSIONDEVICETYPE = 2107101300;
export declare const IFCELLIPSE = 1704287377;
export declare const IFCELEMENTCOMPONENTTYPE = 2590856083;
export declare const IFCELEMENTCOMPONENT = 1623761950;
export declare const IFCELEMENTASSEMBLY = 4123344466;
export declare const IFCELEMENT = 1758889154;
export declare const IFCELECTRICALBASEPROPERTIES = 360485395;
export declare const IFCDISTRIBUTIONFLOWELEMENTTYPE = 3849074793;
export declare const IFCDISTRIBUTIONELEMENTTYPE = 3256556792;
export declare const IFCDIMENSIONCURVEDIRECTEDCALLOUT = 681481545;
export declare const IFCCURTAINWALLTYPE = 1457835157;
export declare const IFCCREWRESOURCE = 3295246426;
export declare const IFCCOVERINGTYPE = 1916426348;
export declare const IFCCOSTSCHEDULE = 1419761937;
export declare const IFCCOSTITEM = 3895139033;
export declare const IFCCONTROL = 3293443760;
export declare const IFCCONSTRUCTIONRESOURCE = 2559216714;
export declare const IFCCONIC = 2510884976;
export declare const IFCCOMPOSITECURVE = 3732776249;
export declare const IFCCOLUMNTYPE = 300633059;
export declare const IFCCIRCLEHOLLOWPROFILEDEF = 2937912522;
export declare const IFCBUILDINGSTOREY = 3124254112;
export declare const IFCBUILDINGELEMENTTYPE = 1950629157;
export declare const IFCBUILDING = 4031249490;
export declare const IFCBOUNDEDCURVE = 1260505505;
export declare const IFCBOOLEANCLIPPINGRESULT = 3649129432;
export declare const IFCBLOCK = 1334484129;
export declare const IFCASYMMETRICISHAPEPROFILEDEF = 3207858831;
export declare const IFCANNOTATION = 1674181508;
export declare const IFCACTOR = 2296667514;
export declare const IFCTRANSPORTELEMENTTYPE = 2097647324;
export declare const IFCTASK = 3473067441;
export declare const IFCSYSTEMFURNITUREELEMENTTYPE = 1580310250;
export declare const IFCSURFACEOFREVOLUTION = 4124788165;
export declare const IFCSURFACEOFLINEAREXTRUSION = 2809605785;
export declare const IFCSURFACECURVESWEPTAREASOLID = 2028607225;
export declare const IFCSTRUCTUREDDIMENSIONCALLOUT = 4070609034;
export declare const IFCSTRUCTURALSURFACEMEMBERVARYING = 2218152070;
export declare const IFCSTRUCTURALSURFACEMEMBER = 3979015343;
export declare const IFCSTRUCTURALREACTION = 3689010777;
export declare const IFCSTRUCTURALMEMBER = 530289379;
export declare const IFCSTRUCTURALITEM = 3136571912;
export declare const IFCSTRUCTURALACTIVITY = 3544373492;
export declare const IFCSPHERE = 451544542;
export declare const IFCSPATIALSTRUCTUREELEMENTTYPE = 3893378262;
export declare const IFCSPATIALSTRUCTUREELEMENT = 2706606064;
export declare const IFCRIGHTCIRCULARCYLINDER = 3626867408;
export declare const IFCRIGHTCIRCULARCONE = 4158566097;
export declare const IFCREVOLVEDAREASOLID = 1856042241;
export declare const IFCRESOURCE = 2914609552;
export declare const IFCRELVOIDSELEMENT = 1401173127;
export declare const IFCRELSPACEBOUNDARY = 3451746338;
export declare const IFCRELSERVICESBUILDINGS = 366585022;
export declare const IFCRELSEQUENCE = 4122056220;
export declare const IFCRELSCHEDULESCOSTITEMS = 1058617721;
export declare const IFCRELREFERENCEDINSPATIALSTRUCTURE = 1245217292;
export declare const IFCRELPROJECTSELEMENT = 750771296;
export declare const IFCRELOVERRIDESPROPERTIES = 202636808;
export declare const IFCRELOCCUPIESSPACES = 2051452291;
export declare const IFCRELNESTS = 3268803585;
export declare const IFCRELINTERACTIONREQUIREMENTS = 4189434867;
export declare const IFCRELFLOWCONTROLELEMENTS = 279856033;
export declare const IFCRELFILLSELEMENT = 3940055652;
export declare const IFCRELDEFINESBYTYPE = 781010003;
export declare const IFCRELDEFINESBYPROPERTIES = 4186316022;
export declare const IFCRELDEFINES = 693640335;
export declare const IFCRELDECOMPOSES = 2551354335;
export declare const IFCRELCOVERSSPACES = 2802773753;
export declare const IFCRELCOVERSBLDGELEMENTS = 886880790;
export declare const IFCRELCONTAINEDINSPATIALSTRUCTURE = 3242617779;
export declare const IFCRELCONNECTSWITHREALIZINGELEMENTS = 3678494232;
export declare const IFCRELCONNECTSWITHECCENTRICITY = 504942748;
export declare const IFCRELCONNECTSSTRUCTURALMEMBER = 1638771189;
export declare const IFCRELCONNECTSSTRUCTURALELEMENT = 3912681535;
export declare const IFCRELCONNECTSSTRUCTURALACTIVITY = 2127690289;
export declare const IFCRELCONNECTSPORTS = 3190031847;
export declare const IFCRELCONNECTSPORTTOELEMENT = 4201705270;
export declare const IFCRELCONNECTSPATHELEMENTS = 3945020480;
export declare const IFCRELCONNECTSELEMENTS = 1204542856;
export declare const IFCRELCONNECTS = 826625072;
export declare const IFCRELASSOCIATESPROFILEPROPERTIES = 2851387026;
export declare const IFCRELASSOCIATESMATERIAL = 2655215786;
export declare const IFCRELASSOCIATESLIBRARY = 3840914261;
export declare const IFCRELASSOCIATESDOCUMENT = 982818633;
export declare const IFCRELASSOCIATESCONSTRAINT = 2728634034;
export declare const IFCRELASSOCIATESCLASSIFICATION = 919958153;
export declare const IFCRELASSOCIATESAPPROVAL = 4095574036;
export declare const IFCRELASSOCIATESAPPLIEDVALUE = 1327628568;
export declare const IFCRELASSOCIATES = 1865459582;
export declare const IFCRELASSIGNSTORESOURCE = 205026976;
export declare const IFCRELASSIGNSTOPROJECTORDER = 3372526763;
export declare const IFCRELASSIGNSTOPRODUCT = 2857406711;
export declare const IFCRELASSIGNSTOPROCESS = 4278684876;
export declare const IFCRELASSIGNSTOGROUP = 1307041759;
export declare const IFCRELASSIGNSTOCONTROL = 2495723537;
export declare const IFCRELASSIGNSTOACTOR = 1683148259;
export declare const IFCRELASSIGNS = 3939117080;
export declare const IFCRECTANGULARTRIMMEDSURFACE = 3454111270;
export declare const IFCRECTANGULARPYRAMID = 2798486643;
export declare const IFCRECTANGLEHOLLOWPROFILEDEF = 2770003689;
export declare const IFCPROXY = 3219374653;
export declare const IFCPROPERTYSET = 1451395588;
export declare const IFCPROJECTIONCURVE = 4194566429;
export declare const IFCPROJECT = 103090709;
export declare const IFCPRODUCT = 4208778838;
export declare const IFCPROCESS = 2945172077;
export declare const IFCPLANE = 220341763;
export declare const IFCPLANARBOX = 603570806;
export declare const IFCPERMEABLECOVERINGPROPERTIES = 3566463478;
export declare const IFCOFFSETCURVE3D = 3505215534;
export declare const IFCOFFSETCURVE2D = 3388369263;
export declare const IFCOBJECT = 3888040117;
export declare const IFCMANIFOLDSOLIDBREP = 1425443689;
export declare const IFCLINE = 1281925730;
export declare const IFCLSHAPEPROFILEDEF = 572779678;
export declare const IFCISHAPEPROFILEDEF = 1484403080;
export declare const IFCGEOMETRICCURVESET = 987898635;
export declare const IFCFURNITURETYPE = 1268542332;
export declare const IFCFURNISHINGELEMENTTYPE = 4238390223;
export declare const IFCFLUIDFLOWPROPERTIES = 3455213021;
export declare const IFCFILLAREASTYLETILES = 315944413;
export declare const IFCFILLAREASTYLETILESYMBOLWITHSTYLE = 4203026998;
export declare const IFCFILLAREASTYLEHATCHING = 374418227;
export declare const IFCFACEBASEDSURFACEMODEL = 2047409740;
export declare const IFCEXTRUDEDAREASOLID = 477187591;
export declare const IFCENERGYPROPERTIES = 80994333;
export declare const IFCELLIPSEPROFILEDEF = 2835456948;
export declare const IFCELEMENTARYSURFACE = 2777663545;
export declare const IFCELEMENTTYPE = 339256511;
export declare const IFCELEMENTQUANTITY = 1883228015;
export declare const IFCEDGELOOP = 1472233963;
export declare const IFCDRAUGHTINGPREDEFINEDCURVEFONT = 4006246654;
export declare const IFCDRAUGHTINGPREDEFINEDCOLOUR = 445594917;
export declare const IFCDRAUGHTINGCALLOUT = 3073041342;
export declare const IFCDOORSTYLE = 526551008;
export declare const IFCDOORPANELPROPERTIES = 1714330368;
export declare const IFCDOORLININGPROPERTIES = 2963535650;
export declare const IFCDIRECTION = 32440307;
export declare const IFCDIMENSIONCURVETERMINATOR = 4054601972;
export declare const IFCDIMENSIONCURVE = 606661476;
export declare const IFCDEFINEDSYMBOL = 693772133;
export declare const IFCCURVEBOUNDEDPLANE = 2827736869;
export declare const IFCCURVE = 2601014836;
export declare const IFCCSGSOLID = 2147822146;
export declare const IFCCSGPRIMITIVE3D = 2506170314;
export declare const IFCCRANERAILFSHAPEPROFILEDEF = 194851669;
export declare const IFCCRANERAILASHAPEPROFILEDEF = 4133800736;
export declare const IFCCOMPOSITECURVESEGMENT = 2485617015;
export declare const IFCCLOSEDSHELL = 2205249479;
export declare const IFCCIRCLEPROFILEDEF = 1383045692;
export declare const IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM = 1416205885;
export declare const IFCCARTESIANTRANSFORMATIONOPERATOR3D = 3331915920;
export declare const IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM = 3486308946;
export declare const IFCCARTESIANTRANSFORMATIONOPERATOR2D = 3749851601;
export declare const IFCCARTESIANTRANSFORMATIONOPERATOR = 59481748;
export declare const IFCCARTESIANPOINT = 1123145078;
export declare const IFCCSHAPEPROFILEDEF = 2898889636;
export declare const IFCBOXEDHALFSPACE = 2713105998;
export declare const IFCBOUNDINGBOX = 2581212453;
export declare const IFCBOUNDEDSURFACE = 4182860854;
export declare const IFCBOOLEANRESULT = 2736907675;
export declare const IFCAXIS2PLACEMENT3D = 2740243338;
export declare const IFCAXIS2PLACEMENT2D = 3125803723;
export declare const IFCAXIS1PLACEMENT = 4261334040;
export declare const IFCANNOTATIONSURFACE = 1302238472;
export declare const IFCANNOTATIONFILLAREAOCCURRENCE = 2265737646;
export declare const IFCANNOTATIONFILLAREA = 669184980;
export declare const IFCANNOTATIONCURVEOCCURRENCE = 3288037868;
export declare const IFCZSHAPEPROFILEDEF = 2543172580;
export declare const IFCWINDOWSTYLE = 1299126871;
export declare const IFCWINDOWPANELPROPERTIES = 512836454;
export declare const IFCWINDOWLININGPROPERTIES = 336235671;
export declare const IFCVERTEXLOOP = 2759199220;
export declare const IFCVECTOR = 1417489154;
export declare const IFCUSHAPEPROFILEDEF = 427810014;
export declare const IFCTYPEPRODUCT = 2347495698;
export declare const IFCTYPEOBJECT = 1628702193;
export declare const IFCTWODIRECTIONREPEATFACTOR = 1345879162;
export declare const IFCTRAPEZIUMPROFILEDEF = 2715220739;
export declare const IFCTEXTLITERALWITHEXTENT = 3124975700;
export declare const IFCTEXTLITERAL = 4282788508;
export declare const IFCTERMINATORSYMBOL = 3028897424;
export declare const IFCTSHAPEPROFILEDEF = 3071757647;
export declare const IFCSWEPTSURFACE = 230924584;
export declare const IFCSWEPTDISKSOLID = 1260650574;
export declare const IFCSWEPTAREASOLID = 2247615214;
export declare const IFCSURFACESTYLERENDERING = 1878645084;
export declare const IFCSURFACE = 2513912981;
export declare const IFCSUBEDGE = 2233826070;
export declare const IFCSTRUCTURALSTEELPROFILEPROPERTIES = 3653947884;
export declare const IFCSTRUCTURALPROFILEPROPERTIES = 3843319758;
export declare const IFCSTRUCTURALLOADSINGLEFORCEWARPING = 1190533807;
export declare const IFCSTRUCTURALLOADSINGLEFORCE = 1597423693;
export declare const IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION = 1973038258;
export declare const IFCSTRUCTURALLOADSINGLEDISPLACEMENT = 2473145415;
export declare const IFCSTRUCTURALLOADPLANARFORCE = 2668620305;
export declare const IFCSTRUCTURALLOADLINEARFORCE = 1595516126;
export declare const IFCSPACETHERMALLOADPROPERTIES = 390701378;
export declare const IFCSOUNDVALUE = 1202362311;
export declare const IFCSOUNDPROPERTIES = 2485662743;
export declare const IFCSOLIDMODEL = 723233188;
export declare const IFCSLIPPAGECONNECTIONCONDITION = 2609359061;
export declare const IFCSHELLBASEDSURFACEMODEL = 4124623270;
export declare const IFCSERVICELIFEFACTOR = 2411513650;
export declare const IFCSECTIONEDSPINE = 1509187699;
export declare const IFCROUNDEDRECTANGLEPROFILEDEF = 2778083089;
export declare const IFCRELATIONSHIP = 478536968;
export declare const IFCREINFORCEMENTDEFINITIONPROPERTIES = 3765753017;
export declare const IFCREGULARTIMESERIES = 3413951693;
export declare const IFCRECTANGLEPROFILEDEF = 3615266464;
export declare const IFCPROPERTYTABLEVALUE = 110355661;
export declare const IFCPROPERTYSINGLEVALUE = 3650150729;
export declare const IFCPROPERTYSETDEFINITION = 3357820518;
export declare const IFCPROPERTYREFERENCEVALUE = 941946838;
export declare const IFCPROPERTYLISTVALUE = 2752243245;
export declare const IFCPROPERTYENUMERATEDVALUE = 4166981789;
export declare const IFCPROPERTYDEFINITION = 1680319473;
export declare const IFCPROPERTYBOUNDEDVALUE = 871118103;
export declare const IFCPRODUCTDEFINITIONSHAPE = 673634403;
export declare const IFCPREDEFINEDPOINTMARKERSYMBOL = 179317114;
export declare const IFCPREDEFINEDDIMENSIONSYMBOL = 433424934;
export declare const IFCPREDEFINEDCURVEFONT = 2559016684;
export declare const IFCPREDEFINEDCOLOUR = 759155922;
export declare const IFCPOLYGONALBOUNDEDHALFSPACE = 2775532180;
export declare const IFCPOLYLOOP = 2924175390;
export declare const IFCPOINTONSURFACE = 1423911732;
export declare const IFCPOINTONCURVE = 4022376103;
export declare const IFCPOINT = 2067069095;
export declare const IFCPLANAREXTENT = 1663979128;
export declare const IFCPLACEMENT = 2004835150;
export declare const IFCPIXELTEXTURE = 597895409;
export declare const IFCPHYSICALCOMPLEXQUANTITY = 3021840470;
export declare const IFCPATH = 2519244187;
export declare const IFCPARAMETERIZEDPROFILEDEF = 2529465313;
export declare const IFCORIENTEDEDGE = 1029017970;
export declare const IFCOPENSHELL = 2665983363;
export declare const IFCONEDIRECTIONREPEATFACTOR = 2833995503;
export declare const IFCOBJECTDEFINITION = 219451334;
export declare const IFCMECHANICALCONCRETEMATERIALPROPERTIES = 1430189142;
export declare const IFCMATERIALDEFINITIONREPRESENTATION = 2022407955;
export declare const IFCMAPPEDITEM = 2347385850;
export declare const IFCLOOP = 1008929658;
export declare const IFCLOCALPLACEMENT = 2624227202;
export declare const IFCLIGHTSOURCESPOT = 3422422726;
export declare const IFCLIGHTSOURCEPOSITIONAL = 1520743889;
export declare const IFCLIGHTSOURCEGONIOMETRIC = 4266656042;
export declare const IFCLIGHTSOURCEDIRECTIONAL = 2604431987;
export declare const IFCLIGHTSOURCEAMBIENT = 125510826;
export declare const IFCLIGHTSOURCE = 1402838566;
export declare const IFCIRREGULARTIMESERIES = 3741457305;
export declare const IFCIMAGETEXTURE = 3905492369;
export declare const IFCHYGROSCOPICMATERIALPROPERTIES = 2445078500;
export declare const IFCHALFSPACESOLID = 812098782;
export declare const IFCGRIDPLACEMENT = 178086475;
export declare const IFCGEOMETRICSET = 3590301190;
export declare const IFCGEOMETRICREPRESENTATIONSUBCONTEXT = 4142052618;
export declare const IFCGEOMETRICREPRESENTATIONITEM = 2453401579;
export declare const IFCGEOMETRICREPRESENTATIONCONTEXT = 3448662350;
export declare const IFCGENERALPROFILEPROPERTIES = 1446786286;
export declare const IFCGENERALMATERIALPROPERTIES = 803998398;
export declare const IFCFUELPROPERTIES = 3857492461;
export declare const IFCFILLAREASTYLE = 738692330;
export declare const IFCFAILURECONNECTIONCONDITION = 4219587988;
export declare const IFCFACESURFACE = 3008276851;
export declare const IFCFACEOUTERBOUND = 803316827;
export declare const IFCFACEBOUND = 1809719519;
export declare const IFCFACE = 2556980723;
export declare const IFCEXTENDEDMATERIALPROPERTIES = 1860660968;
export declare const IFCEDGECURVE = 476780140;
export declare const IFCEDGE = 3900360178;
export declare const IFCDRAUGHTINGPREDEFINEDTEXTFONT = 4170525392;
export declare const IFCDOCUMENTREFERENCE = 3732053477;
export declare const IFCDIMENSIONPAIR = 1694125774;
export declare const IFCDIMENSIONCALLOUTRELATIONSHIP = 2273265877;
export declare const IFCDERIVEDPROFILEDEF = 3632507154;
export declare const IFCCURVESTYLE = 3800577675;
export declare const IFCCONVERSIONBASEDUNIT = 2889183280;
export declare const IFCCONTEXTDEPENDENTUNIT = 3050246964;
export declare const IFCCONNECTIONPOINTECCENTRICITY = 45288368;
export declare const IFCCONNECTIONCURVEGEOMETRY = 1981873012;
export declare const IFCCONNECTEDFACESET = 370225590;
export declare const IFCCOMPOSITEPROFILEDEF = 1485152156;
export declare const IFCCOMPLEXPROPERTY = 2542286263;
export declare const IFCCOLOURRGB = 776857604;
export declare const IFCCLASSIFICATIONREFERENCE = 647927063;
export declare const IFCCENTERLINEPROFILEDEF = 3150382593;
export declare const IFCBLOBTEXTURE = 616511568;
export declare const IFCARBITRARYPROFILEDEFWITHVOIDS = 2705031697;
export declare const IFCARBITRARYOPENPROFILEDEF = 1310608509;
export declare const IFCARBITRARYCLOSEDPROFILEDEF = 3798115385;
export declare const IFCANNOTATIONTEXTOCCURRENCE = 2297822566;
export declare const IFCANNOTATIONSYMBOLOCCURRENCE = 3612888222;
export declare const IFCANNOTATIONSURFACEOCCURRENCE = 962685235;
export declare const IFCANNOTATIONOCCURRENCE = 2442683028;
export declare const IFCWATERPROPERTIES = 1065908215;
export declare const IFCVIRTUALGRIDINTERSECTION = 891718957;
export declare const IFCVERTEXPOINT = 1907098498;
export declare const IFCVERTEXBASEDTEXTUREMAP = 3304826586;
export declare const IFCVERTEX = 2799835756;
export declare const IFCUNITASSIGNMENT = 180925521;
export declare const IFCTOPOLOGYREPRESENTATION = 1735638870;
export declare const IFCTOPOLOGICALREPRESENTATIONITEM = 1377556343;
export declare const IFCTIMESERIESVALUE = 581633288;
export declare const IFCTIMESERIESREFERENCERELATIONSHIP = 1718945513;
export declare const IFCTIMESERIES = 3101149627;
export declare const IFCTHERMALMATERIALPROPERTIES = 3317419933;
export declare const IFCTEXTUREVERTEX = 1210645708;
export declare const IFCTEXTUREMAP = 2552916305;
export declare const IFCTEXTURECOORDINATEGENERATOR = 1742049831;
export declare const IFCTEXTURECOORDINATE = 280115917;
export declare const IFCTEXTSTYLEWITHBOXCHARACTERISTICS = 1484833681;
export declare const IFCTEXTSTYLETEXTMODEL = 1640371178;
export declare const IFCTEXTSTYLEFORDEFINEDFONT = 2636378356;
export declare const IFCTEXTSTYLEFONTMODEL = 1983826977;
export declare const IFCTEXTSTYLE = 1447204868;
export declare const IFCTELECOMADDRESS = 912023232;
export declare const IFCTABLEROW = 531007025;
export declare const IFCTABLE = 985171141;
export declare const IFCSYMBOLSTYLE = 1290481447;
export declare const IFCSURFACETEXTURE = 626085974;
export declare const IFCSURFACESTYLEWITHTEXTURES = 1351298697;
export declare const IFCSURFACESTYLESHADING = 846575682;
export declare const IFCSURFACESTYLEREFRACTION = 1607154358;
export declare const IFCSURFACESTYLELIGHTING = 3303107099;
export declare const IFCSURFACESTYLE = 1300840506;
export declare const IFCSTYLEDREPRESENTATION = 3049322572;
export declare const IFCSTYLEDITEM = 3958052878;
export declare const IFCSTYLEMODEL = 2830218821;
export declare const IFCSTRUCTURALLOADTEMPERATURE = 3408363356;
export declare const IFCSTRUCTURALLOADSTATIC = 2525727697;
export declare const IFCSTRUCTURALLOAD = 2162789131;
export declare const IFCSTRUCTURALCONNECTIONCONDITION = 2273995522;
export declare const IFCSIMPLEPROPERTY = 3692461612;
export declare const IFCSHAPEREPRESENTATION = 4240577450;
export declare const IFCSHAPEMODEL = 3982875396;
export declare const IFCSHAPEASPECT = 867548509;
export declare const IFCSECTIONREINFORCEMENTPROPERTIES = 4165799628;
export declare const IFCSECTIONPROPERTIES = 2042790032;
export declare const IFCSIUNIT = 448429030;
export declare const IFCROOT = 2341007311;
export declare const IFCRIBPLATEPROFILEPROPERTIES = 3679540991;
export declare const IFCREPRESENTATIONMAP = 1660063152;
export declare const IFCREPRESENTATIONITEM = 3008791417;
export declare const IFCREPRESENTATIONCONTEXT = 3377609919;
export declare const IFCREPRESENTATION = 1076942058;
export declare const IFCRELAXATION = 1222501353;
export declare const IFCREINFORCEMENTBARPROPERTIES = 1580146022;
export declare const IFCREFERENCESVALUEDOCUMENT = 2692823254;
export declare const IFCQUANTITYWEIGHT = 825690147;
export declare const IFCQUANTITYVOLUME = 2405470396;
export declare const IFCQUANTITYTIME = 3252649465;
export declare const IFCQUANTITYLENGTH = 931644368;
export declare const IFCQUANTITYCOUNT = 2093928680;
export declare const IFCQUANTITYAREA = 2044713172;
export declare const IFCPROPERTYENUMERATION = 3710013099;
export declare const IFCPROPERTYDEPENDENCYRELATIONSHIP = 148025276;
export declare const IFCPROPERTYCONSTRAINTRELATIONSHIP = 3896028662;
export declare const IFCPROPERTY = 2598011224;
export declare const IFCPROFILEPROPERTIES = 2802850158;
export declare const IFCPROFILEDEF = 3958567839;
export declare const IFCPRODUCTSOFCOMBUSTIONPROPERTIES = 2267347899;
export declare const IFCPRODUCTREPRESENTATION = 2095639259;
export declare const IFCPRESENTATIONSTYLEASSIGNMENT = 2417041796;
export declare const IFCPRESENTATIONSTYLE = 3119450353;
export declare const IFCPRESENTATIONLAYERWITHSTYLE = 1304840413;
export declare const IFCPRESENTATIONLAYERASSIGNMENT = 2022622350;
export declare const IFCPREDEFINEDTEXTFONT = 1775413392;
export declare const IFCPREDEFINEDTERMINATORSYMBOL = 3213052703;
export declare const IFCPREDEFINEDSYMBOL = 990879717;
export declare const IFCPREDEFINEDITEM = 3727388367;
export declare const IFCPOSTALADDRESS = 3355820592;
export declare const IFCPHYSICALSIMPLEQUANTITY = 2226359599;
export declare const IFCPHYSICALQUANTITY = 2483315170;
export declare const IFCPERSONANDORGANIZATION = 101040310;
export declare const IFCPERSON = 2077209135;
export declare const IFCOWNERHISTORY = 1207048766;
export declare const IFCORGANIZATIONRELATIONSHIP = 1411181986;
export declare const IFCORGANIZATION = 4251960020;
export declare const IFCOPTICALMATERIALPROPERTIES = 1227763645;
export declare const IFCOBJECTIVE = 2251480897;
export declare const IFCOBJECTPLACEMENT = 3701648758;
export declare const IFCNAMEDUNIT = 1918398963;
export declare const IFCMONETARYUNIT = 2706619895;
export declare const IFCMETRIC = 3368373690;
export declare const IFCMECHANICALSTEELMATERIALPROPERTIES = 677618848;
export declare const IFCMECHANICALMATERIALPROPERTIES = 4256014907;
export declare const IFCMEASUREWITHUNIT = 2597039031;
export declare const IFCMATERIALPROPERTIES = 3265635763;
export declare const IFCMATERIALLIST = 2199411900;
export declare const IFCMATERIALLAYERSETUSAGE = 1303795690;
export declare const IFCMATERIALLAYERSET = 3303938423;
export declare const IFCMATERIALLAYER = 248100487;
export declare const IFCMATERIALCLASSIFICATIONRELATIONSHIP = 1847130766;
export declare const IFCMATERIAL = 1838606355;
export declare const IFCLOCALTIME = 30780891;
export declare const IFCLIGHTINTENSITYDISTRIBUTION = 1566485204;
export declare const IFCLIGHTDISTRIBUTIONDATA = 4162380809;
export declare const IFCLIBRARYREFERENCE = 3452421091;
export declare const IFCLIBRARYINFORMATION = 2655187982;
export declare const IFCIRREGULARTIMESERIESVALUE = 3020489413;
export declare const IFCGRIDAXIS = 852622518;
export declare const IFCEXTERNALLYDEFINEDTEXTFONT = 3548104201;
export declare const IFCEXTERNALLYDEFINEDSYMBOL = 3207319532;
export declare const IFCEXTERNALLYDEFINEDSURFACESTYLE = 1040185647;
export declare const IFCEXTERNALLYDEFINEDHATCHSTYLE = 2242383968;
export declare const IFCEXTERNALREFERENCE = 3200245327;
export declare const IFCENVIRONMENTALIMPACTVALUE = 1648886627;
export declare const IFCDRAUGHTINGCALLOUTRELATIONSHIP = 3796139169;
export declare const IFCDOCUMENTINFORMATIONRELATIONSHIP = 770865208;
export declare const IFCDOCUMENTINFORMATION = 1154170062;
export declare const IFCDOCUMENTELECTRONICFORMAT = 1376555844;
export declare const IFCDIMENSIONALEXPONENTS = 2949456006;
export declare const IFCDERIVEDUNITELEMENT = 1045800335;
export declare const IFCDERIVEDUNIT = 1765591967;
export declare const IFCDATEANDTIME = 1072939445;
export declare const IFCCURVESTYLEFONTPATTERN = 3510044353;
export declare const IFCCURVESTYLEFONTANDSCALING = 2367409068;
export declare const IFCCURVESTYLEFONT = 1105321065;
export declare const IFCCURRENCYRELATIONSHIP = 539742890;
export declare const IFCCOSTVALUE = 602808272;
export declare const IFCCOORDINATEDUNIVERSALTIMEOFFSET = 1065062679;
export declare const IFCCONSTRAINTRELATIONSHIP = 347226245;
export declare const IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP = 613356794;
export declare const IFCCONSTRAINTAGGREGATIONRELATIONSHIP = 1658513725;
export declare const IFCCONSTRAINT = 1959218052;
export declare const IFCCONNECTIONSURFACEGEOMETRY = 2732653382;
export declare const IFCCONNECTIONPORTGEOMETRY = 4257277454;
export declare const IFCCONNECTIONPOINTGEOMETRY = 2614616156;
export declare const IFCCONNECTIONGEOMETRY = 2859738748;
export declare const IFCCOLOURSPECIFICATION = 3264961684;
export declare const IFCCLASSIFICATIONNOTATIONFACET = 3639012971;
export declare const IFCCLASSIFICATIONNOTATION = 938368621;
export declare const IFCCLASSIFICATIONITEMRELATIONSHIP = 1098599126;
export declare const IFCCLASSIFICATIONITEM = 1767535486;
export declare const IFCCLASSIFICATION = 747523909;
export declare const IFCCALENDARDATE = 622194075;
export declare const IFCBOUNDARYNODECONDITIONWARPING = 2069777674;
export declare const IFCBOUNDARYNODECONDITION = 1387855156;
export declare const IFCBOUNDARYFACECONDITION = 3367102660;
export declare const IFCBOUNDARYEDGECONDITION = 1560379544;
export declare const IFCBOUNDARYCONDITION = 4037036970;
export declare const IFCAPPROVALRELATIONSHIP = 3869604511;
export declare const IFCAPPROVALPROPERTYRELATIONSHIP = 390851274;
export declare const IFCAPPROVALACTORRELATIONSHIP = 2080292479;
export declare const IFCAPPROVAL = 130549933;
export declare const IFCAPPLIEDVALUERELATIONSHIP = 1110488051;
export declare const IFCAPPLIEDVALUE = 411424972;
export declare const IFCAPPLICATION = 639542469;
export declare const IFCADDRESS = 618182010;
export declare const IFCACTORROLE = 3630933823;
export declare const FILE_DESCRIPTION = 599546466;
export declare const FILE_NAME = 1390159747;
export declare const FILE_SCHEMA = 1109904537;
/**
 * Web-IFC IFC Schema Representation
 * @module ifc-schema
*/
export declare class Handle<_> {
    value: number;
    type: number;
    constructor(value: number);
}
export declare enum logical {
    FALSE = 0,
    TRUE = 1,
    UNKNOWN = 2
}
export declare abstract class IfcLineObject {
    expressID: number;
    type: number;
    constructor(expressID?: number);
}
/** @ignore */
export declare const FromRawLineData: any;
/** @ignore */
export declare const InversePropertyDef: any;
/** @ignore */
export declare const InheritanceDef: any;
/** @ignore */
export declare const Constructors: any;
/** @ignore */
export declare const ToRawLineData: any;
/** @ignore */
export declare const TypeInitialisers: any;
/** @ignore */
export declare const SchemaNames: Array<Array<string>>;
export declare enum Schemas {
    IFC2X3 = "IFC2X3",
    IFC4 = "IFC4",
    IFC4X3 = "IFC4X3"
}
export declare namespace IFC2X3 {
    class IfcAbsorbedDoseMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAccelerationMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAmountOfSubstanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAngularVelocityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAreaMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcBoolean {
        type: number;
        name: string;
        value: boolean;
        constructor(v: any);
    }
    class IfcBoxAlignment {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcComplexNumber {
        value: Array<number>;
        type: number;
        constructor(value: Array<number>);
    }
    class IfcCompoundPlaneAngleMeasure {
        value: Array<number>;
        type: number;
        constructor(value: Array<number>);
    }
    class IfcContextDependentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcCountMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcCurvatureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDayInMonthNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDaylightSavingHour {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDescriptiveMeasure {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDimensionCount {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDoseEquivalentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDynamicViscosityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricCapacitanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricChargeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricConductanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricCurrentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricResistanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricVoltageMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcEnergyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcFontStyle {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcFontVariant {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcFontWeight {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcFrequencyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcGloballyUniqueId {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcHeatFluxDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcHeatingValueMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcHourInDay {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIdentifier {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcIlluminanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcInductanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcInteger {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIntegerCountRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIonConcentrationMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIsothermalMoistureCapacityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcKinematicViscosityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLabel {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearMomentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearStiffnessMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearVelocityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLogical {
        type: number;
        name: string;
        value: logical;
        constructor(v: any);
    }
    class IfcLuminousFluxMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLuminousIntensityDistributionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLuminousIntensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMagneticFluxDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMagneticFluxMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassFlowRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassPerLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMinuteInHour {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfElasticityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfLinearSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfRotationalSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMoistureDiffusivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMolecularWeightMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMomentOfInertiaMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMonetaryMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMonthInYearNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNormalisedRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNumericMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPHMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcParameterValue {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPlanarForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPlaneAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositivePlaneAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPowerMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPresentableText {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcPressureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRadioActivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcReal {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalFrequencyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalMassMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalStiffnessMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSecondInMinute {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSectionModulusMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSectionalAreaIntegralMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcShearModulusMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSolidAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPowerMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPressureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecificHeatCapacityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecularExponent {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecularRoughness {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTemperatureGradientMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcText {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextAlignment {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextDecoration {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextFontName {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextTransformation {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcThermalAdmittanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalConductivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalExpansionCoefficientMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalResistanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalTransmittanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermodynamicTemperatureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTimeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTimeStamp {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTorqueMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcVaporPermeabilityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcVolumeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcVolumetricFlowRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcWarpingConstantMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcWarpingMomentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcYearNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcActionSourceTypeEnum {
        static DEAD_LOAD_G: any;
        static COMPLETION_G1: any;
        static LIVE_LOAD_Q: any;
        static SNOW_S: any;
        static WIND_W: any;
        static PRESTRESSING_P: any;
        static SETTLEMENT_U: any;
        static TEMPERATURE_T: any;
        static EARTHQUAKE_E: any;
        static FIRE: any;
        static IMPULSE: any;
        static IMPACT: any;
        static TRANSPORT: any;
        static ERECTION: any;
        static PROPPING: any;
        static SYSTEM_IMPERFECTION: any;
        static SHRINKAGE: any;
        static CREEP: any;
        static LACK_OF_FIT: any;
        static BUOYANCY: any;
        static ICE: any;
        static CURRENT: any;
        static WAVE: any;
        static RAIN: any;
        static BRAKES: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActionTypeEnum {
        static PERMANENT_G: any;
        static VARIABLE_Q: any;
        static EXTRAORDINARY_A: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActuatorTypeEnum {
        static ELECTRICACTUATOR: any;
        static HANDOPERATEDACTUATOR: any;
        static HYDRAULICACTUATOR: any;
        static PNEUMATICACTUATOR: any;
        static THERMOSTATICACTUATOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAddressTypeEnum {
        static OFFICE: any;
        static SITE: any;
        static HOME: any;
        static DISTRIBUTIONPOINT: any;
        static USERDEFINED: any;
    }
    class IfcAheadOrBehind {
        static AHEAD: any;
        static BEHIND: any;
    }
    class IfcAirTerminalBoxTypeEnum {
        static CONSTANTFLOW: any;
        static VARIABLEFLOWPRESSUREDEPENDANT: any;
        static VARIABLEFLOWPRESSUREINDEPENDANT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAirTerminalTypeEnum {
        static GRILLE: any;
        static REGISTER: any;
        static DIFFUSER: any;
        static EYEBALL: any;
        static IRIS: any;
        static LINEARGRILLE: any;
        static LINEARDIFFUSER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAirToAirHeatRecoveryTypeEnum {
        static FIXEDPLATECOUNTERFLOWEXCHANGER: any;
        static FIXEDPLATECROSSFLOWEXCHANGER: any;
        static FIXEDPLATEPARALLELFLOWEXCHANGER: any;
        static ROTARYWHEEL: any;
        static RUNAROUNDCOILLOOP: any;
        static HEATPIPE: any;
        static TWINTOWERENTHALPYRECOVERYLOOPS: any;
        static THERMOSIPHONSEALEDTUBEHEATEXCHANGERS: any;
        static THERMOSIPHONCOILTYPEHEATEXCHANGERS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAlarmTypeEnum {
        static BELL: any;
        static BREAKGLASSBUTTON: any;
        static LIGHT: any;
        static MANUALPULLBOX: any;
        static SIREN: any;
        static WHISTLE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAnalysisModelTypeEnum {
        static IN_PLANE_LOADING_2D: any;
        static OUT_PLANE_LOADING_2D: any;
        static LOADING_3D: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAnalysisTheoryTypeEnum {
        static FIRST_ORDER_THEORY: any;
        static SECOND_ORDER_THEORY: any;
        static THIRD_ORDER_THEORY: any;
        static FULL_NONLINEAR_THEORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcArithmeticOperatorEnum {
        static ADD: any;
        static DIVIDE: any;
        static MULTIPLY: any;
        static SUBTRACT: any;
    }
    class IfcAssemblyPlaceEnum {
        static SITE: any;
        static FACTORY: any;
        static NOTDEFINED: any;
    }
    class IfcBSplineCurveForm {
        static POLYLINE_FORM: any;
        static CIRCULAR_ARC: any;
        static ELLIPTIC_ARC: any;
        static PARABOLIC_ARC: any;
        static HYPERBOLIC_ARC: any;
        static UNSPECIFIED: any;
    }
    class IfcBeamTypeEnum {
        static BEAM: any;
        static JOIST: any;
        static LINTEL: any;
        static T_BEAM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBenchmarkEnum {
        static GREATERTHAN: any;
        static GREATERTHANOREQUALTO: any;
        static LESSTHAN: any;
        static LESSTHANOREQUALTO: any;
        static EQUALTO: any;
        static NOTEQUALTO: any;
    }
    class IfcBoilerTypeEnum {
        static WATER: any;
        static STEAM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBooleanOperator {
        static UNION: any;
        static INTERSECTION: any;
        static DIFFERENCE: any;
    }
    class IfcBuildingElementProxyTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableCarrierFittingTypeEnum {
        static BEND: any;
        static CROSS: any;
        static REDUCER: any;
        static TEE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableCarrierSegmentTypeEnum {
        static CABLELADDERSEGMENT: any;
        static CABLETRAYSEGMENT: any;
        static CABLETRUNKINGSEGMENT: any;
        static CONDUITSEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableSegmentTypeEnum {
        static CABLESEGMENT: any;
        static CONDUCTORSEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcChangeActionEnum {
        static NOCHANGE: any;
        static MODIFIED: any;
        static ADDED: any;
        static DELETED: any;
        static MODIFIEDADDED: any;
        static MODIFIEDDELETED: any;
    }
    class IfcChillerTypeEnum {
        static AIRCOOLED: any;
        static WATERCOOLED: any;
        static HEATRECOVERY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoilTypeEnum {
        static DXCOOLINGCOIL: any;
        static WATERCOOLINGCOIL: any;
        static STEAMHEATINGCOIL: any;
        static WATERHEATINGCOIL: any;
        static ELECTRICHEATINGCOIL: any;
        static GASHEATINGCOIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcColumnTypeEnum {
        static COLUMN: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCompressorTypeEnum {
        static DYNAMIC: any;
        static RECIPROCATING: any;
        static ROTARY: any;
        static SCROLL: any;
        static TROCHOIDAL: any;
        static SINGLESTAGE: any;
        static BOOSTER: any;
        static OPENTYPE: any;
        static HERMETIC: any;
        static SEMIHERMETIC: any;
        static WELDEDSHELLHERMETIC: any;
        static ROLLINGPISTON: any;
        static ROTARYVANE: any;
        static SINGLESCREW: any;
        static TWINSCREW: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCondenserTypeEnum {
        static WATERCOOLEDSHELLTUBE: any;
        static WATERCOOLEDSHELLCOIL: any;
        static WATERCOOLEDTUBEINTUBE: any;
        static WATERCOOLEDBRAZEDPLATE: any;
        static AIRCOOLED: any;
        static EVAPORATIVECOOLED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConnectionTypeEnum {
        static ATPATH: any;
        static ATSTART: any;
        static ATEND: any;
        static NOTDEFINED: any;
    }
    class IfcConstraintEnum {
        static HARD: any;
        static SOFT: any;
        static ADVISORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcControllerTypeEnum {
        static FLOATING: any;
        static PROPORTIONAL: any;
        static PROPORTIONALINTEGRAL: any;
        static PROPORTIONALINTEGRALDERIVATIVE: any;
        static TIMEDTWOPOSITION: any;
        static TWOPOSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCooledBeamTypeEnum {
        static ACTIVE: any;
        static PASSIVE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoolingTowerTypeEnum {
        static NATURALDRAFT: any;
        static MECHANICALINDUCEDDRAFT: any;
        static MECHANICALFORCEDDRAFT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCostScheduleTypeEnum {
        static BUDGET: any;
        static COSTPLAN: any;
        static ESTIMATE: any;
        static TENDER: any;
        static PRICEDBILLOFQUANTITIES: any;
        static UNPRICEDBILLOFQUANTITIES: any;
        static SCHEDULEOFRATES: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoveringTypeEnum {
        static CEILING: any;
        static FLOORING: any;
        static CLADDING: any;
        static ROOFING: any;
        static INSULATION: any;
        static MEMBRANE: any;
        static SLEEVING: any;
        static WRAPPING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCurrencyEnum {
        static AED: any;
        static AES: any;
        static ATS: any;
        static AUD: any;
        static BBD: any;
        static BEG: any;
        static BGL: any;
        static BHD: any;
        static BMD: any;
        static BND: any;
        static BRL: any;
        static BSD: any;
        static BWP: any;
        static BZD: any;
        static CAD: any;
        static CBD: any;
        static CHF: any;
        static CLP: any;
        static CNY: any;
        static CYS: any;
        static CZK: any;
        static DDP: any;
        static DEM: any;
        static DKK: any;
        static EGL: any;
        static EST: any;
        static EUR: any;
        static FAK: any;
        static FIM: any;
        static FJD: any;
        static FKP: any;
        static FRF: any;
        static GBP: any;
        static GIP: any;
        static GMD: any;
        static GRX: any;
        static HKD: any;
        static HUF: any;
        static ICK: any;
        static IDR: any;
        static ILS: any;
        static INR: any;
        static IRP: any;
        static ITL: any;
        static JMD: any;
        static JOD: any;
        static JPY: any;
        static KES: any;
        static KRW: any;
        static KWD: any;
        static KYD: any;
        static LKR: any;
        static LUF: any;
        static MTL: any;
        static MUR: any;
        static MXN: any;
        static MYR: any;
        static NLG: any;
        static NZD: any;
        static OMR: any;
        static PGK: any;
        static PHP: any;
        static PKR: any;
        static PLN: any;
        static PTN: any;
        static QAR: any;
        static RUR: any;
        static SAR: any;
        static SCR: any;
        static SEK: any;
        static SGD: any;
        static SKP: any;
        static THB: any;
        static TRL: any;
        static TTD: any;
        static TWD: any;
        static USD: any;
        static VEB: any;
        static VND: any;
        static XEU: any;
        static ZAR: any;
        static ZWD: any;
        static NOK: any;
    }
    class IfcCurtainWallTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDamperTypeEnum {
        static CONTROLDAMPER: any;
        static FIREDAMPER: any;
        static SMOKEDAMPER: any;
        static FIRESMOKEDAMPER: any;
        static BACKDRAFTDAMPER: any;
        static RELIEFDAMPER: any;
        static BLASTDAMPER: any;
        static GRAVITYDAMPER: any;
        static GRAVITYRELIEFDAMPER: any;
        static BALANCINGDAMPER: any;
        static FUMEHOODEXHAUST: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDataOriginEnum {
        static MEASURED: any;
        static PREDICTED: any;
        static SIMULATED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDerivedUnitEnum {
        static ANGULARVELOCITYUNIT: any;
        static COMPOUNDPLANEANGLEUNIT: any;
        static DYNAMICVISCOSITYUNIT: any;
        static HEATFLUXDENSITYUNIT: any;
        static INTEGERCOUNTRATEUNIT: any;
        static ISOTHERMALMOISTURECAPACITYUNIT: any;
        static KINEMATICVISCOSITYUNIT: any;
        static LINEARVELOCITYUNIT: any;
        static MASSDENSITYUNIT: any;
        static MASSFLOWRATEUNIT: any;
        static MOISTUREDIFFUSIVITYUNIT: any;
        static MOLECULARWEIGHTUNIT: any;
        static SPECIFICHEATCAPACITYUNIT: any;
        static THERMALADMITTANCEUNIT: any;
        static THERMALCONDUCTANCEUNIT: any;
        static THERMALRESISTANCEUNIT: any;
        static THERMALTRANSMITTANCEUNIT: any;
        static VAPORPERMEABILITYUNIT: any;
        static VOLUMETRICFLOWRATEUNIT: any;
        static ROTATIONALFREQUENCYUNIT: any;
        static TORQUEUNIT: any;
        static MOMENTOFINERTIAUNIT: any;
        static LINEARMOMENTUNIT: any;
        static LINEARFORCEUNIT: any;
        static PLANARFORCEUNIT: any;
        static MODULUSOFELASTICITYUNIT: any;
        static SHEARMODULUSUNIT: any;
        static LINEARSTIFFNESSUNIT: any;
        static ROTATIONALSTIFFNESSUNIT: any;
        static MODULUSOFSUBGRADEREACTIONUNIT: any;
        static ACCELERATIONUNIT: any;
        static CURVATUREUNIT: any;
        static HEATINGVALUEUNIT: any;
        static IONCONCENTRATIONUNIT: any;
        static LUMINOUSINTENSITYDISTRIBUTIONUNIT: any;
        static MASSPERLENGTHUNIT: any;
        static MODULUSOFLINEARSUBGRADEREACTIONUNIT: any;
        static MODULUSOFROTATIONALSUBGRADEREACTIONUNIT: any;
        static PHUNIT: any;
        static ROTATIONALMASSUNIT: any;
        static SECTIONAREAINTEGRALUNIT: any;
        static SECTIONMODULUSUNIT: any;
        static SOUNDPOWERUNIT: any;
        static SOUNDPRESSUREUNIT: any;
        static TEMPERATUREGRADIENTUNIT: any;
        static THERMALEXPANSIONCOEFFICIENTUNIT: any;
        static WARPINGCONSTANTUNIT: any;
        static WARPINGMOMENTUNIT: any;
        static USERDEFINED: any;
    }
    class IfcDimensionExtentUsage {
        static ORIGIN: any;
        static TARGET: any;
    }
    class IfcDirectionSenseEnum {
        static POSITIVE: any;
        static NEGATIVE: any;
    }
    class IfcDistributionChamberElementTypeEnum {
        static FORMEDDUCT: any;
        static INSPECTIONCHAMBER: any;
        static INSPECTIONPIT: any;
        static MANHOLE: any;
        static METERCHAMBER: any;
        static SUMP: any;
        static TRENCH: any;
        static VALVECHAMBER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDocumentConfidentialityEnum {
        static PUBLIC: any;
        static RESTRICTED: any;
        static CONFIDENTIAL: any;
        static PERSONAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDocumentStatusEnum {
        static DRAFT: any;
        static FINALDRAFT: any;
        static FINAL: any;
        static REVISION: any;
        static NOTDEFINED: any;
    }
    class IfcDoorPanelOperationEnum {
        static SWINGING: any;
        static DOUBLE_ACTING: any;
        static SLIDING: any;
        static FOLDING: any;
        static REVOLVING: any;
        static ROLLINGUP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorPanelPositionEnum {
        static LEFT: any;
        static MIDDLE: any;
        static RIGHT: any;
        static NOTDEFINED: any;
    }
    class IfcDoorStyleConstructionEnum {
        static ALUMINIUM: any;
        static HIGH_GRADE_STEEL: any;
        static STEEL: any;
        static WOOD: any;
        static ALUMINIUM_WOOD: any;
        static ALUMINIUM_PLASTIC: any;
        static PLASTIC: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorStyleOperationEnum {
        static SINGLE_SWING_LEFT: any;
        static SINGLE_SWING_RIGHT: any;
        static DOUBLE_DOOR_SINGLE_SWING: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT: any;
        static DOUBLE_SWING_LEFT: any;
        static DOUBLE_SWING_RIGHT: any;
        static DOUBLE_DOOR_DOUBLE_SWING: any;
        static SLIDING_TO_LEFT: any;
        static SLIDING_TO_RIGHT: any;
        static DOUBLE_DOOR_SLIDING: any;
        static FOLDING_TO_LEFT: any;
        static FOLDING_TO_RIGHT: any;
        static DOUBLE_DOOR_FOLDING: any;
        static REVOLVING: any;
        static ROLLINGUP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctFittingTypeEnum {
        static BEND: any;
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static JUNCTION: any;
        static OBSTRUCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctSegmentTypeEnum {
        static RIGIDSEGMENT: any;
        static FLEXIBLESEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctSilencerTypeEnum {
        static FLATOVAL: any;
        static RECTANGULAR: any;
        static ROUND: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricApplianceTypeEnum {
        static COMPUTER: any;
        static DIRECTWATERHEATER: any;
        static DISHWASHER: any;
        static ELECTRICCOOKER: any;
        static ELECTRICHEATER: any;
        static FACSIMILE: any;
        static FREESTANDINGFAN: any;
        static FREEZER: any;
        static FRIDGE_FREEZER: any;
        static HANDDRYER: any;
        static INDIRECTWATERHEATER: any;
        static MICROWAVE: any;
        static PHOTOCOPIER: any;
        static PRINTER: any;
        static REFRIGERATOR: any;
        static RADIANTHEATER: any;
        static SCANNER: any;
        static TELEPHONE: any;
        static TUMBLEDRYER: any;
        static TV: any;
        static VENDINGMACHINE: any;
        static WASHINGMACHINE: any;
        static WATERHEATER: any;
        static WATERCOOLER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricCurrentEnum {
        static ALTERNATING: any;
        static DIRECT: any;
        static NOTDEFINED: any;
    }
    class IfcElectricDistributionPointFunctionEnum {
        static ALARMPANEL: any;
        static CONSUMERUNIT: any;
        static CONTROLPANEL: any;
        static DISTRIBUTIONBOARD: any;
        static GASDETECTORPANEL: any;
        static INDICATORPANEL: any;
        static MIMICPANEL: any;
        static MOTORCONTROLCENTRE: any;
        static SWITCHBOARD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricFlowStorageDeviceTypeEnum {
        static BATTERY: any;
        static CAPACITORBANK: any;
        static HARMONICFILTER: any;
        static INDUCTORBANK: any;
        static UPS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricGeneratorTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricHeaterTypeEnum {
        static ELECTRICPOINTHEATER: any;
        static ELECTRICCABLEHEATER: any;
        static ELECTRICMATHEATER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricMotorTypeEnum {
        static DC: any;
        static INDUCTION: any;
        static POLYPHASE: any;
        static RELUCTANCESYNCHRONOUS: any;
        static SYNCHRONOUS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricTimeControlTypeEnum {
        static TIMECLOCK: any;
        static TIMEDELAY: any;
        static RELAY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElementAssemblyTypeEnum {
        static ACCESSORY_ASSEMBLY: any;
        static ARCH: any;
        static BEAM_GRID: any;
        static BRACED_FRAME: any;
        static GIRDER: any;
        static REINFORCEMENT_UNIT: any;
        static RIGID_FRAME: any;
        static SLAB_FIELD: any;
        static TRUSS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElementCompositionEnum {
        static COMPLEX: any;
        static ELEMENT: any;
        static PARTIAL: any;
    }
    class IfcEnergySequenceEnum {
        static PRIMARY: any;
        static SECONDARY: any;
        static TERTIARY: any;
        static AUXILIARY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEnvironmentalImpactCategoryEnum {
        static COMBINEDVALUE: any;
        static DISPOSAL: any;
        static EXTRACTION: any;
        static INSTALLATION: any;
        static MANUFACTURE: any;
        static TRANSPORTATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEvaporativeCoolerTypeEnum {
        static DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER: any;
        static DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER: any;
        static DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER: any;
        static DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER: any;
        static DIRECTEVAPORATIVEAIRWASHER: any;
        static INDIRECTEVAPORATIVEPACKAGEAIRCOOLER: any;
        static INDIRECTEVAPORATIVEWETCOIL: any;
        static INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER: any;
        static INDIRECTDIRECTCOMBINATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEvaporatorTypeEnum {
        static DIRECTEXPANSIONSHELLANDTUBE: any;
        static DIRECTEXPANSIONTUBEINTUBE: any;
        static DIRECTEXPANSIONBRAZEDPLATE: any;
        static FLOODEDSHELLANDTUBE: any;
        static SHELLANDCOIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFanTypeEnum {
        static CENTRIFUGALFORWARDCURVED: any;
        static CENTRIFUGALRADIAL: any;
        static CENTRIFUGALBACKWARDINCLINEDCURVED: any;
        static CENTRIFUGALAIRFOIL: any;
        static TUBEAXIAL: any;
        static VANEAXIAL: any;
        static PROPELLORAXIAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFilterTypeEnum {
        static AIRPARTICLEFILTER: any;
        static ODORFILTER: any;
        static OILFILTER: any;
        static STRAINER: any;
        static WATERFILTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFireSuppressionTerminalTypeEnum {
        static BREECHINGINLET: any;
        static FIREHYDRANT: any;
        static HOSEREEL: any;
        static SPRINKLER: any;
        static SPRINKLERDEFLECTOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFlowDirectionEnum {
        static SOURCE: any;
        static SINK: any;
        static SOURCEANDSINK: any;
        static NOTDEFINED: any;
    }
    class IfcFlowInstrumentTypeEnum {
        static PRESSUREGAUGE: any;
        static THERMOMETER: any;
        static AMMETER: any;
        static FREQUENCYMETER: any;
        static POWERFACTORMETER: any;
        static PHASEANGLEMETER: any;
        static VOLTMETER_PEAK: any;
        static VOLTMETER_RMS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFlowMeterTypeEnum {
        static ELECTRICMETER: any;
        static ENERGYMETER: any;
        static FLOWMETER: any;
        static GASMETER: any;
        static OILMETER: any;
        static WATERMETER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFootingTypeEnum {
        static FOOTING_BEAM: any;
        static PAD_FOOTING: any;
        static PILE_CAP: any;
        static STRIP_FOOTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGasTerminalTypeEnum {
        static GASAPPLIANCE: any;
        static GASBOOSTER: any;
        static GASBURNER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGeometricProjectionEnum {
        static GRAPH_VIEW: any;
        static SKETCH_VIEW: any;
        static MODEL_VIEW: any;
        static PLAN_VIEW: any;
        static REFLECTED_PLAN_VIEW: any;
        static SECTION_VIEW: any;
        static ELEVATION_VIEW: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGlobalOrLocalEnum {
        static GLOBAL_COORDS: any;
        static LOCAL_COORDS: any;
    }
    class IfcHeatExchangerTypeEnum {
        static PLATE: any;
        static SHELLANDTUBE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcHumidifierTypeEnum {
        static STEAMINJECTION: any;
        static ADIABATICAIRWASHER: any;
        static ADIABATICPAN: any;
        static ADIABATICWETTEDELEMENT: any;
        static ADIABATICATOMIZING: any;
        static ADIABATICULTRASONIC: any;
        static ADIABATICRIGIDMEDIA: any;
        static ADIABATICCOMPRESSEDAIRNOZZLE: any;
        static ASSISTEDELECTRIC: any;
        static ASSISTEDNATURALGAS: any;
        static ASSISTEDPROPANE: any;
        static ASSISTEDBUTANE: any;
        static ASSISTEDSTEAM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcInternalOrExternalEnum {
        static INTERNAL: any;
        static EXTERNAL: any;
        static NOTDEFINED: any;
    }
    class IfcInventoryTypeEnum {
        static ASSETINVENTORY: any;
        static SPACEINVENTORY: any;
        static FURNITUREINVENTORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcJunctionBoxTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLampTypeEnum {
        static COMPACTFLUORESCENT: any;
        static FLUORESCENT: any;
        static HIGHPRESSUREMERCURY: any;
        static HIGHPRESSURESODIUM: any;
        static METALHALIDE: any;
        static TUNGSTENFILAMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLayerSetDirectionEnum {
        static AXIS1: any;
        static AXIS2: any;
        static AXIS3: any;
    }
    class IfcLightDistributionCurveEnum {
        static TYPE_A: any;
        static TYPE_B: any;
        static TYPE_C: any;
        static NOTDEFINED: any;
    }
    class IfcLightEmissionSourceEnum {
        static COMPACTFLUORESCENT: any;
        static FLUORESCENT: any;
        static HIGHPRESSUREMERCURY: any;
        static HIGHPRESSURESODIUM: any;
        static LIGHTEMITTINGDIODE: any;
        static LOWPRESSURESODIUM: any;
        static LOWVOLTAGEHALOGEN: any;
        static MAINVOLTAGEHALOGEN: any;
        static METALHALIDE: any;
        static TUNGSTENFILAMENT: any;
        static NOTDEFINED: any;
    }
    class IfcLightFixtureTypeEnum {
        static POINTSOURCE: any;
        static DIRECTIONSOURCE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLoadGroupTypeEnum {
        static LOAD_GROUP: any;
        static LOAD_CASE: any;
        static LOAD_COMBINATION_GROUP: any;
        static LOAD_COMBINATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLogicalOperatorEnum {
        static LOGICALAND: any;
        static LOGICALOR: any;
    }
    class IfcMemberTypeEnum {
        static BRACE: any;
        static CHORD: any;
        static COLLAR: any;
        static MEMBER: any;
        static MULLION: any;
        static PLATE: any;
        static POST: any;
        static PURLIN: any;
        static RAFTER: any;
        static STRINGER: any;
        static STRUT: any;
        static STUD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMotorConnectionTypeEnum {
        static BELTDRIVE: any;
        static COUPLING: any;
        static DIRECTDRIVE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcNullStyle {
        static NULL: any;
    }
    class IfcObjectTypeEnum {
        static PRODUCT: any;
        static PROCESS: any;
        static CONTROL: any;
        static RESOURCE: any;
        static ACTOR: any;
        static GROUP: any;
        static PROJECT: any;
        static NOTDEFINED: any;
    }
    class IfcObjectiveEnum {
        static CODECOMPLIANCE: any;
        static DESIGNINTENT: any;
        static HEALTHANDSAFETY: any;
        static REQUIREMENT: any;
        static SPECIFICATION: any;
        static TRIGGERCONDITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOccupantTypeEnum {
        static ASSIGNEE: any;
        static ASSIGNOR: any;
        static LESSEE: any;
        static LESSOR: any;
        static LETTINGAGENT: any;
        static OWNER: any;
        static TENANT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOutletTypeEnum {
        static AUDIOVISUALOUTLET: any;
        static COMMUNICATIONSOUTLET: any;
        static POWEROUTLET: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPermeableCoveringOperationEnum {
        static GRILL: any;
        static LOUVER: any;
        static SCREEN: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPhysicalOrVirtualEnum {
        static PHYSICAL: any;
        static VIRTUAL: any;
        static NOTDEFINED: any;
    }
    class IfcPileConstructionEnum {
        static CAST_IN_PLACE: any;
        static COMPOSITE: any;
        static PRECAST_CONCRETE: any;
        static PREFAB_STEEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPileTypeEnum {
        static COHESION: any;
        static FRICTION: any;
        static SUPPORT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPipeFittingTypeEnum {
        static BEND: any;
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static JUNCTION: any;
        static OBSTRUCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPipeSegmentTypeEnum {
        static FLEXIBLESEGMENT: any;
        static RIGIDSEGMENT: any;
        static GUTTER: any;
        static SPOOL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPlateTypeEnum {
        static CURTAIN_PANEL: any;
        static SHEET: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProcedureTypeEnum {
        static ADVICE_CAUTION: any;
        static ADVICE_NOTE: any;
        static ADVICE_WARNING: any;
        static CALIBRATION: any;
        static DIAGNOSTIC: any;
        static SHUTDOWN: any;
        static STARTUP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProfileTypeEnum {
        static CURVE: any;
        static AREA: any;
    }
    class IfcProjectOrderRecordTypeEnum {
        static CHANGE: any;
        static MAINTENANCE: any;
        static MOVE: any;
        static PURCHASE: any;
        static WORK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProjectOrderTypeEnum {
        static CHANGEORDER: any;
        static MAINTENANCEWORKORDER: any;
        static MOVEORDER: any;
        static PURCHASEORDER: any;
        static WORKORDER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProjectedOrTrueLengthEnum {
        static PROJECTED_LENGTH: any;
        static TRUE_LENGTH: any;
    }
    class IfcPropertySourceEnum {
        static DESIGN: any;
        static DESIGNMAXIMUM: any;
        static DESIGNMINIMUM: any;
        static SIMULATED: any;
        static ASBUILT: any;
        static COMMISSIONING: any;
        static MEASURED: any;
        static USERDEFINED: any;
        static NOTKNOWN: any;
    }
    class IfcProtectiveDeviceTypeEnum {
        static FUSEDISCONNECTOR: any;
        static CIRCUITBREAKER: any;
        static EARTHFAILUREDEVICE: any;
        static RESIDUALCURRENTCIRCUITBREAKER: any;
        static RESIDUALCURRENTSWITCH: any;
        static VARISTOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPumpTypeEnum {
        static CIRCULATOR: any;
        static ENDSUCTION: any;
        static SPLITCASE: any;
        static VERTICALINLINE: any;
        static VERTICALTURBINE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRailingTypeEnum {
        static HANDRAIL: any;
        static GUARDRAIL: any;
        static BALUSTRADE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRampFlightTypeEnum {
        static STRAIGHT: any;
        static SPIRAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRampTypeEnum {
        static STRAIGHT_RUN_RAMP: any;
        static TWO_STRAIGHT_RUN_RAMP: any;
        static QUARTER_TURN_RAMP: any;
        static TWO_QUARTER_TURN_RAMP: any;
        static HALF_TURN_RAMP: any;
        static SPIRAL_RAMP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReflectanceMethodEnum {
        static BLINN: any;
        static FLAT: any;
        static GLASS: any;
        static MATT: any;
        static METAL: any;
        static MIRROR: any;
        static PHONG: any;
        static PLASTIC: any;
        static STRAUSS: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingBarRoleEnum {
        static MAIN: any;
        static SHEAR: any;
        static LIGATURE: any;
        static STUD: any;
        static PUNCHING: any;
        static EDGE: any;
        static RING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingBarSurfaceEnum {
        static PLAIN: any;
        static TEXTURED: any;
    }
    class IfcResourceConsumptionEnum {
        static CONSUMED: any;
        static PARTIALLYCONSUMED: any;
        static NOTCONSUMED: any;
        static OCCUPIED: any;
        static PARTIALLYOCCUPIED: any;
        static NOTOCCUPIED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRibPlateDirectionEnum {
        static DIRECTION_X: any;
        static DIRECTION_Y: any;
    }
    class IfcRoleEnum {
        static SUPPLIER: any;
        static MANUFACTURER: any;
        static CONTRACTOR: any;
        static SUBCONTRACTOR: any;
        static ARCHITECT: any;
        static STRUCTURALENGINEER: any;
        static COSTENGINEER: any;
        static CLIENT: any;
        static BUILDINGOWNER: any;
        static BUILDINGOPERATOR: any;
        static MECHANICALENGINEER: any;
        static ELECTRICALENGINEER: any;
        static PROJECTMANAGER: any;
        static FACILITIESMANAGER: any;
        static CIVILENGINEER: any;
        static COMISSIONINGENGINEER: any;
        static ENGINEER: any;
        static OWNER: any;
        static CONSULTANT: any;
        static CONSTRUCTIONMANAGER: any;
        static FIELDCONSTRUCTIONMANAGER: any;
        static RESELLER: any;
        static USERDEFINED: any;
    }
    class IfcRoofTypeEnum {
        static FLAT_ROOF: any;
        static SHED_ROOF: any;
        static GABLE_ROOF: any;
        static HIP_ROOF: any;
        static HIPPED_GABLE_ROOF: any;
        static GAMBREL_ROOF: any;
        static MANSARD_ROOF: any;
        static BARREL_ROOF: any;
        static RAINBOW_ROOF: any;
        static BUTTERFLY_ROOF: any;
        static PAVILION_ROOF: any;
        static DOME_ROOF: any;
        static FREEFORM: any;
        static NOTDEFINED: any;
    }
    class IfcSIPrefix {
        static EXA: any;
        static PETA: any;
        static TERA: any;
        static GIGA: any;
        static MEGA: any;
        static KILO: any;
        static HECTO: any;
        static DECA: any;
        static DECI: any;
        static CENTI: any;
        static MILLI: any;
        static MICRO: any;
        static NANO: any;
        static PICO: any;
        static FEMTO: any;
        static ATTO: any;
    }
    class IfcSIUnitName {
        static AMPERE: any;
        static BECQUEREL: any;
        static CANDELA: any;
        static COULOMB: any;
        static CUBIC_METRE: any;
        static DEGREE_CELSIUS: any;
        static FARAD: any;
        static GRAM: any;
        static GRAY: any;
        static HENRY: any;
        static HERTZ: any;
        static JOULE: any;
        static KELVIN: any;
        static LUMEN: any;
        static LUX: any;
        static METRE: any;
        static MOLE: any;
        static NEWTON: any;
        static OHM: any;
        static PASCAL: any;
        static RADIAN: any;
        static SECOND: any;
        static SIEMENS: any;
        static SIEVERT: any;
        static SQUARE_METRE: any;
        static STERADIAN: any;
        static TESLA: any;
        static VOLT: any;
        static WATT: any;
        static WEBER: any;
    }
    class IfcSanitaryTerminalTypeEnum {
        static BATH: any;
        static BIDET: any;
        static CISTERN: any;
        static SHOWER: any;
        static SINK: any;
        static SANITARYFOUNTAIN: any;
        static TOILETPAN: any;
        static URINAL: any;
        static WASHHANDBASIN: any;
        static WCSEAT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSectionTypeEnum {
        static UNIFORM: any;
        static TAPERED: any;
    }
    class IfcSensorTypeEnum {
        static CO2SENSOR: any;
        static FIRESENSOR: any;
        static FLOWSENSOR: any;
        static GASSENSOR: any;
        static HEATSENSOR: any;
        static HUMIDITYSENSOR: any;
        static LIGHTSENSOR: any;
        static MOISTURESENSOR: any;
        static MOVEMENTSENSOR: any;
        static PRESSURESENSOR: any;
        static SMOKESENSOR: any;
        static SOUNDSENSOR: any;
        static TEMPERATURESENSOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSequenceEnum {
        static START_START: any;
        static START_FINISH: any;
        static FINISH_START: any;
        static FINISH_FINISH: any;
        static NOTDEFINED: any;
    }
    class IfcServiceLifeFactorTypeEnum {
        static A_QUALITYOFCOMPONENTS: any;
        static B_DESIGNLEVEL: any;
        static C_WORKEXECUTIONLEVEL: any;
        static D_INDOORENVIRONMENT: any;
        static E_OUTDOORENVIRONMENT: any;
        static F_INUSECONDITIONS: any;
        static G_MAINTENANCELEVEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcServiceLifeTypeEnum {
        static ACTUALSERVICELIFE: any;
        static EXPECTEDSERVICELIFE: any;
        static OPTIMISTICREFERENCESERVICELIFE: any;
        static PESSIMISTICREFERENCESERVICELIFE: any;
        static REFERENCESERVICELIFE: any;
    }
    class IfcSlabTypeEnum {
        static FLOOR: any;
        static ROOF: any;
        static LANDING: any;
        static BASESLAB: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSoundScaleEnum {
        static DBA: any;
        static DBB: any;
        static DBC: any;
        static NC: any;
        static NR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpaceHeaterTypeEnum {
        static SECTIONALRADIATOR: any;
        static PANELRADIATOR: any;
        static TUBULARRADIATOR: any;
        static CONVECTOR: any;
        static BASEBOARDHEATER: any;
        static FINNEDTUBEUNIT: any;
        static UNITHEATER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpaceTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStackTerminalTypeEnum {
        static BIRDCAGE: any;
        static COWL: any;
        static RAINWATERHOPPER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStairFlightTypeEnum {
        static STRAIGHT: any;
        static WINDER: any;
        static SPIRAL: any;
        static CURVED: any;
        static FREEFORM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStairTypeEnum {
        static STRAIGHT_RUN_STAIR: any;
        static TWO_STRAIGHT_RUN_STAIR: any;
        static QUARTER_WINDING_STAIR: any;
        static QUARTER_TURN_STAIR: any;
        static HALF_WINDING_STAIR: any;
        static HALF_TURN_STAIR: any;
        static TWO_QUARTER_WINDING_STAIR: any;
        static TWO_QUARTER_TURN_STAIR: any;
        static THREE_QUARTER_WINDING_STAIR: any;
        static THREE_QUARTER_TURN_STAIR: any;
        static SPIRAL_STAIR: any;
        static DOUBLE_RETURN_STAIR: any;
        static CURVED_RUN_STAIR: any;
        static TWO_CURVED_RUN_STAIR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStateEnum {
        static READWRITE: any;
        static READONLY: any;
        static LOCKED: any;
        static READWRITELOCKED: any;
        static READONLYLOCKED: any;
    }
    class IfcStructuralCurveTypeEnum {
        static RIGID_JOINED_MEMBER: any;
        static PIN_JOINED_MEMBER: any;
        static CABLE: any;
        static TENSION_MEMBER: any;
        static COMPRESSION_MEMBER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStructuralSurfaceTypeEnum {
        static BENDING_ELEMENT: any;
        static MEMBRANE_ELEMENT: any;
        static SHELL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSurfaceSide {
        static POSITIVE: any;
        static NEGATIVE: any;
        static BOTH: any;
    }
    class IfcSurfaceTextureEnum {
        static BUMP: any;
        static OPACITY: any;
        static REFLECTION: any;
        static SELFILLUMINATION: any;
        static SHININESS: any;
        static SPECULAR: any;
        static TEXTURE: any;
        static TRANSPARENCYMAP: any;
        static NOTDEFINED: any;
    }
    class IfcSwitchingDeviceTypeEnum {
        static CONTACTOR: any;
        static EMERGENCYSTOP: any;
        static STARTER: any;
        static SWITCHDISCONNECTOR: any;
        static TOGGLESWITCH: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTankTypeEnum {
        static PREFORMED: any;
        static SECTIONAL: any;
        static EXPANSION: any;
        static PRESSUREVESSEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTendonTypeEnum {
        static STRAND: any;
        static WIRE: any;
        static BAR: any;
        static COATED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTextPath {
        static LEFT: any;
        static RIGHT: any;
        static UP: any;
        static DOWN: any;
    }
    class IfcThermalLoadSourceEnum {
        static PEOPLE: any;
        static LIGHTING: any;
        static EQUIPMENT: any;
        static VENTILATIONINDOORAIR: any;
        static VENTILATIONOUTSIDEAIR: any;
        static RECIRCULATEDAIR: any;
        static EXHAUSTAIR: any;
        static AIREXCHANGERATE: any;
        static DRYBULBTEMPERATURE: any;
        static RELATIVEHUMIDITY: any;
        static INFILTRATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcThermalLoadTypeEnum {
        static SENSIBLE: any;
        static LATENT: any;
        static RADIANT: any;
        static NOTDEFINED: any;
    }
    class IfcTimeSeriesDataTypeEnum {
        static CONTINUOUS: any;
        static DISCRETE: any;
        static DISCRETEBINARY: any;
        static PIECEWISEBINARY: any;
        static PIECEWISECONSTANT: any;
        static PIECEWISECONTINUOUS: any;
        static NOTDEFINED: any;
    }
    class IfcTimeSeriesScheduleTypeEnum {
        static ANNUAL: any;
        static MONTHLY: any;
        static WEEKLY: any;
        static DAILY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTransformerTypeEnum {
        static CURRENT: any;
        static FREQUENCY: any;
        static VOLTAGE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTransitionCode {
        static DISCONTINUOUS: any;
        static CONTINUOUS: any;
        static CONTSAMEGRADIENT: any;
        static CONTSAMEGRADIENTSAMECURVATURE: any;
    }
    class IfcTransportElementTypeEnum {
        static ELEVATOR: any;
        static ESCALATOR: any;
        static MOVINGWALKWAY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTrimmingPreference {
        static CARTESIAN: any;
        static PARAMETER: any;
        static UNSPECIFIED: any;
    }
    class IfcTubeBundleTypeEnum {
        static FINNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcUnitEnum {
        static ABSORBEDDOSEUNIT: any;
        static AMOUNTOFSUBSTANCEUNIT: any;
        static AREAUNIT: any;
        static DOSEEQUIVALENTUNIT: any;
        static ELECTRICCAPACITANCEUNIT: any;
        static ELECTRICCHARGEUNIT: any;
        static ELECTRICCONDUCTANCEUNIT: any;
        static ELECTRICCURRENTUNIT: any;
        static ELECTRICRESISTANCEUNIT: any;
        static ELECTRICVOLTAGEUNIT: any;
        static ENERGYUNIT: any;
        static FORCEUNIT: any;
        static FREQUENCYUNIT: any;
        static ILLUMINANCEUNIT: any;
        static INDUCTANCEUNIT: any;
        static LENGTHUNIT: any;
        static LUMINOUSFLUXUNIT: any;
        static LUMINOUSINTENSITYUNIT: any;
        static MAGNETICFLUXDENSITYUNIT: any;
        static MAGNETICFLUXUNIT: any;
        static MASSUNIT: any;
        static PLANEANGLEUNIT: any;
        static POWERUNIT: any;
        static PRESSUREUNIT: any;
        static RADIOACTIVITYUNIT: any;
        static SOLIDANGLEUNIT: any;
        static THERMODYNAMICTEMPERATUREUNIT: any;
        static TIMEUNIT: any;
        static VOLUMEUNIT: any;
        static USERDEFINED: any;
    }
    class IfcUnitaryEquipmentTypeEnum {
        static AIRHANDLER: any;
        static AIRCONDITIONINGUNIT: any;
        static SPLITSYSTEM: any;
        static ROOFTOPUNIT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcValveTypeEnum {
        static AIRRELEASE: any;
        static ANTIVACUUM: any;
        static CHANGEOVER: any;
        static CHECK: any;
        static COMMISSIONING: any;
        static DIVERTING: any;
        static DRAWOFFCOCK: any;
        static DOUBLECHECK: any;
        static DOUBLEREGULATING: any;
        static FAUCET: any;
        static FLUSHING: any;
        static GASCOCK: any;
        static GASTAP: any;
        static ISOLATING: any;
        static MIXING: any;
        static PRESSUREREDUCING: any;
        static PRESSURERELIEF: any;
        static REGULATING: any;
        static SAFETYCUTOFF: any;
        static STEAMTRAP: any;
        static STOPCOCK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVibrationIsolatorTypeEnum {
        static COMPRESSION: any;
        static SPRING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWallTypeEnum {
        static STANDARD: any;
        static POLYGONAL: any;
        static SHEAR: any;
        static ELEMENTEDWALL: any;
        static PLUMBINGWALL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWasteTerminalTypeEnum {
        static FLOORTRAP: any;
        static FLOORWASTE: any;
        static GULLYSUMP: any;
        static GULLYTRAP: any;
        static GREASEINTERCEPTOR: any;
        static OILINTERCEPTOR: any;
        static PETROLINTERCEPTOR: any;
        static ROOFDRAIN: any;
        static WASTEDISPOSALUNIT: any;
        static WASTETRAP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWindowPanelOperationEnum {
        static SIDEHUNGRIGHTHAND: any;
        static SIDEHUNGLEFTHAND: any;
        static TILTANDTURNRIGHTHAND: any;
        static TILTANDTURNLEFTHAND: any;
        static TOPHUNG: any;
        static BOTTOMHUNG: any;
        static PIVOTHORIZONTAL: any;
        static PIVOTVERTICAL: any;
        static SLIDINGHORIZONTAL: any;
        static SLIDINGVERTICAL: any;
        static REMOVABLECASEMENT: any;
        static FIXEDCASEMENT: any;
        static OTHEROPERATION: any;
        static NOTDEFINED: any;
    }
    class IfcWindowPanelPositionEnum {
        static LEFT: any;
        static MIDDLE: any;
        static RIGHT: any;
        static BOTTOM: any;
        static TOP: any;
        static NOTDEFINED: any;
    }
    class IfcWindowStyleConstructionEnum {
        static ALUMINIUM: any;
        static HIGH_GRADE_STEEL: any;
        static STEEL: any;
        static WOOD: any;
        static ALUMINIUM_WOOD: any;
        static PLASTIC: any;
        static OTHER_CONSTRUCTION: any;
        static NOTDEFINED: any;
    }
    class IfcWindowStyleOperationEnum {
        static SINGLE_PANEL: any;
        static DOUBLE_PANEL_VERTICAL: any;
        static DOUBLE_PANEL_HORIZONTAL: any;
        static TRIPLE_PANEL_VERTICAL: any;
        static TRIPLE_PANEL_BOTTOM: any;
        static TRIPLE_PANEL_TOP: any;
        static TRIPLE_PANEL_LEFT: any;
        static TRIPLE_PANEL_RIGHT: any;
        static TRIPLE_PANEL_HORIZONTAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWorkControlTypeEnum {
        static ACTUAL: any;
        static BASELINE: any;
        static PLANNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    type IfcActorSelect = (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization);
    type IfcAppliedValueSelect = IfcRatioMeasure | (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | IfcMonetaryMeasure;
    type IfcAxis2Placement = (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
    type IfcBooleanOperand = (Handle<IfcSolidModel> | IfcSolidModel) | (Handle<IfcHalfSpaceSolid> | IfcHalfSpaceSolid) | (Handle<IfcBooleanResult> | IfcBooleanResult) | (Handle<IfcCsgPrimitive3D> | IfcCsgPrimitive3D);
    type IfcCharacterStyleSelect = (Handle<IfcTextStyleForDefinedFont> | IfcTextStyleForDefinedFont);
    type IfcClassificationNotationSelect = (Handle<IfcClassificationNotation> | IfcClassificationNotation) | (Handle<IfcClassificationReference> | IfcClassificationReference);
    type IfcColour = (Handle<IfcColourSpecification> | IfcColourSpecification) | (Handle<IfcPreDefinedColour> | IfcPreDefinedColour);
    type IfcColourOrFactor = (Handle<IfcColourRgb> | IfcColourRgb) | IfcNormalisedRatioMeasure;
    type IfcConditionCriterionSelect = IfcLabel | (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit);
    type IfcCsgSelect = (Handle<IfcBooleanResult> | IfcBooleanResult) | (Handle<IfcCsgPrimitive3D> | IfcCsgPrimitive3D);
    type IfcCurveFontOrScaledCurveFontSelect = IfcCurveStyleFontSelect | (Handle<IfcCurveStyleFontAndScaling> | IfcCurveStyleFontAndScaling);
    type IfcCurveOrEdgeCurve = (Handle<IfcBoundedCurve> | IfcBoundedCurve) | (Handle<IfcEdgeCurve> | IfcEdgeCurve);
    type IfcCurveStyleFontSelect = (Handle<IfcPreDefinedCurveFont> | IfcPreDefinedCurveFont) | (Handle<IfcCurveStyleFont> | IfcCurveStyleFont);
    type IfcDateTimeSelect = (Handle<IfcCalendarDate> | IfcCalendarDate) | (Handle<IfcLocalTime> | IfcLocalTime) | (Handle<IfcDateAndTime> | IfcDateAndTime);
    type IfcDefinedSymbolSelect = (Handle<IfcPreDefinedSymbol> | IfcPreDefinedSymbol) | (Handle<IfcExternallyDefinedSymbol> | IfcExternallyDefinedSymbol);
    type IfcDerivedMeasureValue = IfcVolumetricFlowRateMeasure | IfcTimeStamp | IfcThermalTransmittanceMeasure | IfcThermalResistanceMeasure | IfcThermalAdmittanceMeasure | IfcPressureMeasure | IfcPowerMeasure | IfcMassFlowRateMeasure | IfcMassDensityMeasure | IfcLinearVelocityMeasure | IfcKinematicViscosityMeasure | IfcIntegerCountRateMeasure | IfcHeatFluxDensityMeasure | IfcFrequencyMeasure | IfcEnergyMeasure | IfcElectricVoltageMeasure | IfcDynamicViscosityMeasure | IfcCompoundPlaneAngleMeasure | IfcAngularVelocityMeasure | IfcThermalConductivityMeasure | IfcMolecularWeightMeasure | IfcVaporPermeabilityMeasure | IfcMoistureDiffusivityMeasure | IfcIsothermalMoistureCapacityMeasure | IfcSpecificHeatCapacityMeasure | IfcMonetaryMeasure | IfcMagneticFluxDensityMeasure | IfcMagneticFluxMeasure | IfcLuminousFluxMeasure | IfcForceMeasure | IfcInductanceMeasure | IfcIlluminanceMeasure | IfcElectricResistanceMeasure | IfcElectricConductanceMeasure | IfcElectricChargeMeasure | IfcDoseEquivalentMeasure | IfcElectricCapacitanceMeasure | IfcAbsorbedDoseMeasure | IfcRadioActivityMeasure | IfcRotationalFrequencyMeasure | IfcTorqueMeasure | IfcAccelerationMeasure | IfcLinearForceMeasure | IfcLinearStiffnessMeasure | IfcModulusOfSubgradeReactionMeasure | IfcModulusOfElasticityMeasure | IfcMomentOfInertiaMeasure | IfcPlanarForceMeasure | IfcRotationalStiffnessMeasure | IfcShearModulusMeasure | IfcLinearMomentMeasure | IfcLuminousIntensityDistributionMeasure | IfcCurvatureMeasure | IfcMassPerLengthMeasure | IfcModulusOfLinearSubgradeReactionMeasure | IfcModulusOfRotationalSubgradeReactionMeasure | IfcRotationalMassMeasure | IfcSectionalAreaIntegralMeasure | IfcSectionModulusMeasure | IfcTemperatureGradientMeasure | IfcThermalExpansionCoefficientMeasure | IfcWarpingConstantMeasure | IfcWarpingMomentMeasure | IfcSoundPowerMeasure | IfcSoundPressureMeasure | IfcHeatingValueMeasure | IfcPHMeasure | IfcIonConcentrationMeasure;
    type IfcDocumentSelect = (Handle<IfcDocumentReference> | IfcDocumentReference) | (Handle<IfcDocumentInformation> | IfcDocumentInformation);
    type IfcDraughtingCalloutElement = (Handle<IfcAnnotationCurveOccurrence> | IfcAnnotationCurveOccurrence) | (Handle<IfcAnnotationTextOccurrence> | IfcAnnotationTextOccurrence) | (Handle<IfcAnnotationSymbolOccurrence> | IfcAnnotationSymbolOccurrence);
    type IfcFillAreaStyleTileShapeSelect = (Handle<IfcFillAreaStyleTileSymbolWithStyle> | IfcFillAreaStyleTileSymbolWithStyle);
    type IfcFillStyleSelect = (Handle<IfcFillAreaStyleHatching> | IfcFillAreaStyleHatching) | (Handle<IfcFillAreaStyleTiles> | IfcFillAreaStyleTiles) | IfcColour | (Handle<IfcExternallyDefinedHatchStyle> | IfcExternallyDefinedHatchStyle);
    type IfcGeometricSetSelect = (Handle<IfcPoint> | IfcPoint) | (Handle<IfcCurve> | IfcCurve) | (Handle<IfcSurface> | IfcSurface);
    type IfcHatchLineDistanceSelect = (Handle<IfcOneDirectionRepeatFactor> | IfcOneDirectionRepeatFactor) | IfcPositiveLengthMeasure;
    type IfcLayeredItem = (Handle<IfcRepresentationItem> | IfcRepresentationItem) | (Handle<IfcRepresentation> | IfcRepresentation);
    type IfcLibrarySelect = (Handle<IfcLibraryReference> | IfcLibraryReference) | (Handle<IfcLibraryInformation> | IfcLibraryInformation);
    type IfcLightDistributionDataSourceSelect = (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcLightIntensityDistribution> | IfcLightIntensityDistribution);
    type IfcMaterialSelect = (Handle<IfcMaterial> | IfcMaterial) | (Handle<IfcMaterialList> | IfcMaterialList) | (Handle<IfcMaterialLayerSetUsage> | IfcMaterialLayerSetUsage) | (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet) | (Handle<IfcMaterialLayer> | IfcMaterialLayer);
    type IfcMeasureValue = IfcVolumeMeasure | IfcTimeMeasure | IfcThermodynamicTemperatureMeasure | IfcSolidAngleMeasure | IfcPositiveRatioMeasure | IfcRatioMeasure | IfcPositivePlaneAngleMeasure | IfcPlaneAngleMeasure | IfcParameterValue | IfcNumericMeasure | IfcMassMeasure | IfcPositiveLengthMeasure | IfcLengthMeasure | IfcElectricCurrentMeasure | IfcDescriptiveMeasure | IfcCountMeasure | IfcContextDependentMeasure | IfcAreaMeasure | IfcAmountOfSubstanceMeasure | IfcLuminousIntensityMeasure | IfcNormalisedRatioMeasure | IfcComplexNumber;
    type IfcMetricValueSelect = IfcDateTimeSelect | (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | (Handle<IfcTable> | IfcTable) | IfcText | (Handle<IfcTimeSeries> | IfcTimeSeries) | (Handle<IfcCostValue> | IfcCostValue);
    type IfcObjectReferenceSelect = (Handle<IfcMaterial> | IfcMaterial) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcDateAndTime> | IfcDateAndTime) | (Handle<IfcMaterialList> | IfcMaterialList) | (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcCalendarDate> | IfcCalendarDate) | (Handle<IfcLocalTime> | IfcLocalTime) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | (Handle<IfcMaterialLayer> | IfcMaterialLayer) | (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcTimeSeries> | IfcTimeSeries) | (Handle<IfcAddress> | IfcAddress) | (Handle<IfcAppliedValue> | IfcAppliedValue);
    type IfcOrientationSelect = IfcPlaneAngleMeasure | (Handle<IfcDirection> | IfcDirection);
    type IfcPointOrVertexPoint = (Handle<IfcPoint> | IfcPoint) | (Handle<IfcVertexPoint> | IfcVertexPoint);
    type IfcPresentationStyleSelect = IfcNullStyle | (Handle<IfcCurveStyle> | IfcCurveStyle) | (Handle<IfcSymbolStyle> | IfcSymbolStyle) | (Handle<IfcFillAreaStyle> | IfcFillAreaStyle) | (Handle<IfcTextStyle> | IfcTextStyle) | (Handle<IfcSurfaceStyle> | IfcSurfaceStyle);
    type IfcShell = (Handle<IfcClosedShell> | IfcClosedShell) | (Handle<IfcOpenShell> | IfcOpenShell);
    type IfcSimpleValue = IfcInteger | IfcReal | IfcBoolean | IfcIdentifier | IfcText | IfcLabel | IfcLogical;
    type IfcSizeSelect = IfcRatioMeasure | IfcLengthMeasure | IfcDescriptiveMeasure | IfcPositiveLengthMeasure | IfcNormalisedRatioMeasure | IfcPositiveRatioMeasure;
    type IfcSpecularHighlightSelect = IfcSpecularExponent | IfcSpecularRoughness;
    type IfcStructuralActivityAssignmentSelect = (Handle<IfcStructuralItem> | IfcStructuralItem) | (Handle<IfcElement> | IfcElement);
    type IfcSurfaceOrFaceSurface = (Handle<IfcSurface> | IfcSurface) | (Handle<IfcFaceSurface> | IfcFaceSurface) | (Handle<IfcFaceBasedSurfaceModel> | IfcFaceBasedSurfaceModel);
    type IfcSurfaceStyleElementSelect = (Handle<IfcSurfaceStyleShading> | IfcSurfaceStyleShading) | (Handle<IfcSurfaceStyleLighting> | IfcSurfaceStyleLighting) | (Handle<IfcSurfaceStyleWithTextures> | IfcSurfaceStyleWithTextures) | (Handle<IfcExternallyDefinedSurfaceStyle> | IfcExternallyDefinedSurfaceStyle) | (Handle<IfcSurfaceStyleRefraction> | IfcSurfaceStyleRefraction);
    type IfcSymbolStyleSelect = IfcColour;
    type IfcTextFontSelect = (Handle<IfcPreDefinedTextFont> | IfcPreDefinedTextFont) | (Handle<IfcExternallyDefinedTextFont> | IfcExternallyDefinedTextFont);
    type IfcTextStyleSelect = (Handle<IfcTextStyleWithBoxCharacteristics> | IfcTextStyleWithBoxCharacteristics) | (Handle<IfcTextStyleTextModel> | IfcTextStyleTextModel);
    type IfcTrimmingSelect = (Handle<IfcCartesianPoint> | IfcCartesianPoint) | IfcParameterValue;
    type IfcUnit = (Handle<IfcDerivedUnit> | IfcDerivedUnit) | (Handle<IfcNamedUnit> | IfcNamedUnit) | (Handle<IfcMonetaryUnit> | IfcMonetaryUnit);
    type IfcValue = IfcMeasureValue | IfcSimpleValue | IfcDerivedMeasureValue;
    type IfcVectorOrDirection = (Handle<IfcDirection> | IfcDirection) | (Handle<IfcVector> | IfcVector);
    class IfcActorRole extends IfcLineObject {
        Role: IfcRoleEnum;
        UserDefinedRole: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(Role: IfcRoleEnum, UserDefinedRole: IfcLabel | null, Description: IfcText | null);
    }
    class IfcAddress extends IfcLineObject {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        type: number;
        OfPerson: (Handle<IfcPerson> | IfcPerson)[] | null;
        OfOrganization: (Handle<IfcOrganization> | IfcOrganization)[] | null;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null);
    }
    class IfcApplication extends IfcLineObject {
        ApplicationDeveloper: (Handle<IfcOrganization> | IfcOrganization);
        Version: IfcLabel;
        ApplicationFullName: IfcLabel;
        ApplicationIdentifier: IfcIdentifier;
        type: number;
        constructor(ApplicationDeveloper: (Handle<IfcOrganization> | IfcOrganization), Version: IfcLabel, ApplicationFullName: IfcLabel, ApplicationIdentifier: IfcIdentifier);
    }
    class IfcAppliedValue extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        AppliedValue: IfcAppliedValueSelect | null;
        UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        ApplicableDate: IfcDateTimeSelect | null;
        FixedUntilDate: IfcDateTimeSelect | null;
        type: number;
        ValuesReferenced: (Handle<IfcReferencesValueDocument> | IfcReferencesValueDocument)[] | null;
        ValueOfComponents: (Handle<IfcAppliedValueRelationship> | IfcAppliedValueRelationship)[] | null;
        IsComponentIn: (Handle<IfcAppliedValueRelationship> | IfcAppliedValueRelationship)[] | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, AppliedValue: IfcAppliedValueSelect | null, UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, ApplicableDate: IfcDateTimeSelect | null, FixedUntilDate: IfcDateTimeSelect | null);
    }
    class IfcAppliedValueRelationship extends IfcLineObject {
        ComponentOfTotal: (Handle<IfcAppliedValue> | IfcAppliedValue);
        Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[];
        ArithmeticOperator: IfcArithmeticOperatorEnum;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(ComponentOfTotal: (Handle<IfcAppliedValue> | IfcAppliedValue), Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[], ArithmeticOperator: IfcArithmeticOperatorEnum, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcApproval extends IfcLineObject {
        Description: IfcText | null;
        ApprovalDateTime: IfcDateTimeSelect;
        ApprovalStatus: IfcLabel | null;
        ApprovalLevel: IfcLabel | null;
        ApprovalQualifier: IfcText | null;
        Name: IfcLabel;
        Identifier: IfcIdentifier;
        type: number;
        Actors: (Handle<IfcApprovalActorRelationship> | IfcApprovalActorRelationship)[] | null;
        IsRelatedWith: (Handle<IfcApprovalRelationship> | IfcApprovalRelationship)[] | null;
        Relates: (Handle<IfcApprovalRelationship> | IfcApprovalRelationship)[] | null;
        constructor(Description: IfcText | null, ApprovalDateTime: IfcDateTimeSelect, ApprovalStatus: IfcLabel | null, ApprovalLevel: IfcLabel | null, ApprovalQualifier: IfcText | null, Name: IfcLabel, Identifier: IfcIdentifier);
    }
    class IfcApprovalActorRelationship extends IfcLineObject {
        Actor: IfcActorSelect;
        Approval: (Handle<IfcApproval> | IfcApproval);
        Role: (Handle<IfcActorRole> | IfcActorRole);
        type: number;
        constructor(Actor: IfcActorSelect, Approval: (Handle<IfcApproval> | IfcApproval), Role: (Handle<IfcActorRole> | IfcActorRole));
    }
    class IfcApprovalPropertyRelationship extends IfcLineObject {
        ApprovedProperties: (Handle<IfcProperty> | IfcProperty)[];
        Approval: (Handle<IfcApproval> | IfcApproval);
        type: number;
        constructor(ApprovedProperties: (Handle<IfcProperty> | IfcProperty)[], Approval: (Handle<IfcApproval> | IfcApproval));
    }
    class IfcApprovalRelationship extends IfcLineObject {
        RelatedApproval: (Handle<IfcApproval> | IfcApproval);
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        Description: IfcText | null;
        Name: IfcLabel;
        type: number;
        constructor(RelatedApproval: (Handle<IfcApproval> | IfcApproval), RelatingApproval: (Handle<IfcApproval> | IfcApproval), Description: IfcText | null, Name: IfcLabel);
    }
    class IfcBoundaryCondition extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcBoundaryEdgeCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        LinearStiffnessByLengthX: IfcModulusOfLinearSubgradeReactionMeasure | null;
        LinearStiffnessByLengthY: IfcModulusOfLinearSubgradeReactionMeasure | null;
        LinearStiffnessByLengthZ: IfcModulusOfLinearSubgradeReactionMeasure | null;
        RotationalStiffnessByLengthX: IfcModulusOfRotationalSubgradeReactionMeasure | null;
        RotationalStiffnessByLengthY: IfcModulusOfRotationalSubgradeReactionMeasure | null;
        RotationalStiffnessByLengthZ: IfcModulusOfRotationalSubgradeReactionMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LinearStiffnessByLengthX: IfcModulusOfLinearSubgradeReactionMeasure | null, LinearStiffnessByLengthY: IfcModulusOfLinearSubgradeReactionMeasure | null, LinearStiffnessByLengthZ: IfcModulusOfLinearSubgradeReactionMeasure | null, RotationalStiffnessByLengthX: IfcModulusOfRotationalSubgradeReactionMeasure | null, RotationalStiffnessByLengthY: IfcModulusOfRotationalSubgradeReactionMeasure | null, RotationalStiffnessByLengthZ: IfcModulusOfRotationalSubgradeReactionMeasure | null);
    }
    class IfcBoundaryFaceCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        LinearStiffnessByAreaX: IfcModulusOfSubgradeReactionMeasure | null;
        LinearStiffnessByAreaY: IfcModulusOfSubgradeReactionMeasure | null;
        LinearStiffnessByAreaZ: IfcModulusOfSubgradeReactionMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LinearStiffnessByAreaX: IfcModulusOfSubgradeReactionMeasure | null, LinearStiffnessByAreaY: IfcModulusOfSubgradeReactionMeasure | null, LinearStiffnessByAreaZ: IfcModulusOfSubgradeReactionMeasure | null);
    }
    class IfcBoundaryNodeCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        LinearStiffnessX: IfcLinearStiffnessMeasure | null;
        LinearStiffnessY: IfcLinearStiffnessMeasure | null;
        LinearStiffnessZ: IfcLinearStiffnessMeasure | null;
        RotationalStiffnessX: IfcRotationalStiffnessMeasure | null;
        RotationalStiffnessY: IfcRotationalStiffnessMeasure | null;
        RotationalStiffnessZ: IfcRotationalStiffnessMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LinearStiffnessX: IfcLinearStiffnessMeasure | null, LinearStiffnessY: IfcLinearStiffnessMeasure | null, LinearStiffnessZ: IfcLinearStiffnessMeasure | null, RotationalStiffnessX: IfcRotationalStiffnessMeasure | null, RotationalStiffnessY: IfcRotationalStiffnessMeasure | null, RotationalStiffnessZ: IfcRotationalStiffnessMeasure | null);
    }
    class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition {
        Name: IfcLabel | null;
        LinearStiffnessX: IfcLinearStiffnessMeasure | null;
        LinearStiffnessY: IfcLinearStiffnessMeasure | null;
        LinearStiffnessZ: IfcLinearStiffnessMeasure | null;
        RotationalStiffnessX: IfcRotationalStiffnessMeasure | null;
        RotationalStiffnessY: IfcRotationalStiffnessMeasure | null;
        RotationalStiffnessZ: IfcRotationalStiffnessMeasure | null;
        WarpingStiffness: IfcWarpingMomentMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LinearStiffnessX: IfcLinearStiffnessMeasure | null, LinearStiffnessY: IfcLinearStiffnessMeasure | null, LinearStiffnessZ: IfcLinearStiffnessMeasure | null, RotationalStiffnessX: IfcRotationalStiffnessMeasure | null, RotationalStiffnessY: IfcRotationalStiffnessMeasure | null, RotationalStiffnessZ: IfcRotationalStiffnessMeasure | null, WarpingStiffness: IfcWarpingMomentMeasure | null);
    }
    class IfcCalendarDate extends IfcLineObject {
        DayComponent: IfcDayInMonthNumber;
        MonthComponent: IfcMonthInYearNumber;
        YearComponent: IfcYearNumber;
        type: number;
        constructor(DayComponent: IfcDayInMonthNumber, MonthComponent: IfcMonthInYearNumber, YearComponent: IfcYearNumber);
    }
    class IfcClassification extends IfcLineObject {
        Source: IfcLabel;
        Edition: IfcLabel;
        EditionDate: (Handle<IfcCalendarDate> | IfcCalendarDate) | null;
        Name: IfcLabel;
        type: number;
        Contains: (Handle<IfcClassificationItem> | IfcClassificationItem)[] | null;
        constructor(Source: IfcLabel, Edition: IfcLabel, EditionDate: (Handle<IfcCalendarDate> | IfcCalendarDate) | null, Name: IfcLabel);
    }
    class IfcClassificationItem extends IfcLineObject {
        Notation: (Handle<IfcClassificationNotationFacet> | IfcClassificationNotationFacet);
        ItemOf: (Handle<IfcClassification> | IfcClassification) | null;
        Title: IfcLabel;
        type: number;
        IsClassifiedItemIn: (Handle<IfcClassificationItemRelationship> | IfcClassificationItemRelationship)[] | null;
        IsClassifyingItemIn: (Handle<IfcClassificationItemRelationship> | IfcClassificationItemRelationship)[] | null;
        constructor(Notation: (Handle<IfcClassificationNotationFacet> | IfcClassificationNotationFacet), ItemOf: (Handle<IfcClassification> | IfcClassification) | null, Title: IfcLabel);
    }
    class IfcClassificationItemRelationship extends IfcLineObject {
        RelatingItem: (Handle<IfcClassificationItem> | IfcClassificationItem);
        RelatedItems: (Handle<IfcClassificationItem> | IfcClassificationItem)[];
        type: number;
        constructor(RelatingItem: (Handle<IfcClassificationItem> | IfcClassificationItem), RelatedItems: (Handle<IfcClassificationItem> | IfcClassificationItem)[]);
    }
    class IfcClassificationNotation extends IfcLineObject {
        NotationFacets: (Handle<IfcClassificationNotationFacet> | IfcClassificationNotationFacet)[];
        type: number;
        constructor(NotationFacets: (Handle<IfcClassificationNotationFacet> | IfcClassificationNotationFacet)[]);
    }
    class IfcClassificationNotationFacet extends IfcLineObject {
        NotationValue: IfcLabel;
        type: number;
        constructor(NotationValue: IfcLabel);
    }
    class IfcColourSpecification extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcConnectionGeometry extends IfcLineObject {
        type: number;
        constructor();
    }
    class IfcConnectionPointGeometry extends IfcConnectionGeometry {
        PointOnRelatingElement: IfcPointOrVertexPoint;
        PointOnRelatedElement: IfcPointOrVertexPoint | null;
        type: number;
        constructor(PointOnRelatingElement: IfcPointOrVertexPoint, PointOnRelatedElement: IfcPointOrVertexPoint | null);
    }
    class IfcConnectionPortGeometry extends IfcConnectionGeometry {
        LocationAtRelatingElement: IfcAxis2Placement;
        LocationAtRelatedElement: IfcAxis2Placement | null;
        ProfileOfPort: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(LocationAtRelatingElement: IfcAxis2Placement, LocationAtRelatedElement: IfcAxis2Placement | null, ProfileOfPort: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry {
        SurfaceOnRelatingElement: IfcSurfaceOrFaceSurface;
        SurfaceOnRelatedElement: IfcSurfaceOrFaceSurface | null;
        type: number;
        constructor(SurfaceOnRelatingElement: IfcSurfaceOrFaceSurface, SurfaceOnRelatedElement: IfcSurfaceOrFaceSurface | null);
    }
    class IfcConstraint extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTimeSelect | null;
        UserDefinedGrade: IfcLabel | null;
        type: number;
        ClassifiedAs: (Handle<IfcConstraintClassificationRelationship> | IfcConstraintClassificationRelationship)[] | null;
        RelatesConstraints: (Handle<IfcConstraintRelationship> | IfcConstraintRelationship)[] | null;
        IsRelatedWith: (Handle<IfcConstraintRelationship> | IfcConstraintRelationship)[] | null;
        PropertiesForConstraint: (Handle<IfcPropertyConstraintRelationship> | IfcPropertyConstraintRelationship)[] | null;
        Aggregates: (Handle<IfcConstraintAggregationRelationship> | IfcConstraintAggregationRelationship)[] | null;
        IsAggregatedIn: (Handle<IfcConstraintAggregationRelationship> | IfcConstraintAggregationRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTimeSelect | null, UserDefinedGrade: IfcLabel | null);
    }
    class IfcConstraintAggregationRelationship extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        RelatedConstraints: (Handle<IfcConstraint> | IfcConstraint)[];
        LogicalAggregator: IfcLogicalOperatorEnum;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint), RelatedConstraints: (Handle<IfcConstraint> | IfcConstraint)[], LogicalAggregator: IfcLogicalOperatorEnum);
    }
    class IfcConstraintClassificationRelationship extends IfcLineObject {
        ClassifiedConstraint: (Handle<IfcConstraint> | IfcConstraint);
        RelatedClassifications: IfcClassificationNotationSelect[];
        type: number;
        constructor(ClassifiedConstraint: (Handle<IfcConstraint> | IfcConstraint), RelatedClassifications: IfcClassificationNotationSelect[]);
    }
    class IfcConstraintRelationship extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        RelatedConstraints: (Handle<IfcConstraint> | IfcConstraint)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint), RelatedConstraints: (Handle<IfcConstraint> | IfcConstraint)[]);
    }
    class IfcCoordinatedUniversalTimeOffset extends IfcLineObject {
        HourOffset: IfcHourInDay;
        MinuteOffset: IfcMinuteInHour | null;
        Sense: IfcAheadOrBehind;
        type: number;
        constructor(HourOffset: IfcHourInDay, MinuteOffset: IfcMinuteInHour | null, Sense: IfcAheadOrBehind);
    }
    class IfcCostValue extends IfcAppliedValue {
        Name: IfcLabel | null;
        Description: IfcText | null;
        AppliedValue: IfcAppliedValueSelect | null;
        UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        ApplicableDate: IfcDateTimeSelect | null;
        FixedUntilDate: IfcDateTimeSelect | null;
        CostType: IfcLabel;
        Condition: IfcText | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, AppliedValue: IfcAppliedValueSelect | null, UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, ApplicableDate: IfcDateTimeSelect | null, FixedUntilDate: IfcDateTimeSelect | null, CostType: IfcLabel, Condition: IfcText | null);
    }
    class IfcCurrencyRelationship extends IfcLineObject {
        RelatingMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit);
        RelatedMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit);
        ExchangeRate: IfcPositiveRatioMeasure;
        RateDateTime: (Handle<IfcDateAndTime> | IfcDateAndTime);
        RateSource: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null;
        type: number;
        constructor(RelatingMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit), RelatedMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit), ExchangeRate: IfcPositiveRatioMeasure, RateDateTime: (Handle<IfcDateAndTime> | IfcDateAndTime), RateSource: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null);
    }
    class IfcCurveStyleFont extends IfcLineObject {
        Name: IfcLabel | null;
        PatternList: (Handle<IfcCurveStyleFontPattern> | IfcCurveStyleFontPattern)[];
        type: number;
        constructor(Name: IfcLabel | null, PatternList: (Handle<IfcCurveStyleFontPattern> | IfcCurveStyleFontPattern)[]);
    }
    class IfcCurveStyleFontAndScaling extends IfcLineObject {
        Name: IfcLabel | null;
        CurveFont: IfcCurveStyleFontSelect;
        CurveFontScaling: IfcPositiveRatioMeasure;
        type: number;
        constructor(Name: IfcLabel | null, CurveFont: IfcCurveStyleFontSelect, CurveFontScaling: IfcPositiveRatioMeasure);
    }
    class IfcCurveStyleFontPattern extends IfcLineObject {
        VisibleSegmentLength: IfcLengthMeasure;
        InvisibleSegmentLength: IfcPositiveLengthMeasure;
        type: number;
        constructor(VisibleSegmentLength: IfcLengthMeasure, InvisibleSegmentLength: IfcPositiveLengthMeasure);
    }
    class IfcDateAndTime extends IfcLineObject {
        DateComponent: (Handle<IfcCalendarDate> | IfcCalendarDate);
        TimeComponent: (Handle<IfcLocalTime> | IfcLocalTime);
        type: number;
        constructor(DateComponent: (Handle<IfcCalendarDate> | IfcCalendarDate), TimeComponent: (Handle<IfcLocalTime> | IfcLocalTime));
    }
    class IfcDerivedUnit extends IfcLineObject {
        Elements: (Handle<IfcDerivedUnitElement> | IfcDerivedUnitElement)[];
        UnitType: IfcDerivedUnitEnum;
        UserDefinedType: IfcLabel | null;
        type: number;
        constructor(Elements: (Handle<IfcDerivedUnitElement> | IfcDerivedUnitElement)[], UnitType: IfcDerivedUnitEnum, UserDefinedType: IfcLabel | null);
    }
    class IfcDerivedUnitElement extends IfcLineObject {
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit);
        Exponent: number;
        type: number;
        constructor(Unit: (Handle<IfcNamedUnit> | IfcNamedUnit), Exponent: number);
    }
    class IfcDimensionalExponents extends IfcLineObject {
        LengthExponent: number;
        MassExponent: number;
        TimeExponent: number;
        ElectricCurrentExponent: number;
        ThermodynamicTemperatureExponent: number;
        AmountOfSubstanceExponent: number;
        LuminousIntensityExponent: number;
        type: number;
        constructor(LengthExponent: number, MassExponent: number, TimeExponent: number, ElectricCurrentExponent: number, ThermodynamicTemperatureExponent: number, AmountOfSubstanceExponent: number, LuminousIntensityExponent: number);
    }
    class IfcDocumentElectronicFormat extends IfcLineObject {
        FileExtension: IfcLabel | null;
        MimeContentType: IfcLabel | null;
        MimeSubtype: IfcLabel | null;
        type: number;
        constructor(FileExtension: IfcLabel | null, MimeContentType: IfcLabel | null, MimeSubtype: IfcLabel | null);
    }
    class IfcDocumentInformation extends IfcLineObject {
        DocumentId: IfcIdentifier;
        Name: IfcLabel;
        Description: IfcText | null;
        DocumentReferences: (Handle<IfcDocumentReference> | IfcDocumentReference)[] | null;
        Purpose: IfcText | null;
        IntendedUse: IfcText | null;
        Scope: IfcText | null;
        Revision: IfcLabel | null;
        DocumentOwner: IfcActorSelect | null;
        Editors: IfcActorSelect[] | null;
        CreationTime: (Handle<IfcDateAndTime> | IfcDateAndTime) | null;
        LastRevisionTime: (Handle<IfcDateAndTime> | IfcDateAndTime) | null;
        ElectronicFormat: (Handle<IfcDocumentElectronicFormat> | IfcDocumentElectronicFormat) | null;
        ValidFrom: (Handle<IfcCalendarDate> | IfcCalendarDate) | null;
        ValidUntil: (Handle<IfcCalendarDate> | IfcCalendarDate) | null;
        Confidentiality: IfcDocumentConfidentialityEnum | null;
        Status: IfcDocumentStatusEnum | null;
        type: number;
        IsPointedTo: (Handle<IfcDocumentInformationRelationship> | IfcDocumentInformationRelationship)[] | null;
        IsPointer: (Handle<IfcDocumentInformationRelationship> | IfcDocumentInformationRelationship)[] | null;
        constructor(DocumentId: IfcIdentifier, Name: IfcLabel, Description: IfcText | null, DocumentReferences: (Handle<IfcDocumentReference> | IfcDocumentReference)[] | null, Purpose: IfcText | null, IntendedUse: IfcText | null, Scope: IfcText | null, Revision: IfcLabel | null, DocumentOwner: IfcActorSelect | null, Editors: IfcActorSelect[] | null, CreationTime: (Handle<IfcDateAndTime> | IfcDateAndTime) | null, LastRevisionTime: (Handle<IfcDateAndTime> | IfcDateAndTime) | null, ElectronicFormat: (Handle<IfcDocumentElectronicFormat> | IfcDocumentElectronicFormat) | null, ValidFrom: (Handle<IfcCalendarDate> | IfcCalendarDate) | null, ValidUntil: (Handle<IfcCalendarDate> | IfcCalendarDate) | null, Confidentiality: IfcDocumentConfidentialityEnum | null, Status: IfcDocumentStatusEnum | null);
    }
    class IfcDocumentInformationRelationship extends IfcLineObject {
        RelatingDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation);
        RelatedDocuments: (Handle<IfcDocumentInformation> | IfcDocumentInformation)[];
        RelationshipType: IfcLabel | null;
        type: number;
        constructor(RelatingDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation), RelatedDocuments: (Handle<IfcDocumentInformation> | IfcDocumentInformation)[], RelationshipType: IfcLabel | null);
    }
    class IfcDraughtingCalloutRelationship extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout);
        RelatedDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout), RelatedDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout));
    }
    class IfcEnvironmentalImpactValue extends IfcAppliedValue {
        Name: IfcLabel | null;
        Description: IfcText | null;
        AppliedValue: IfcAppliedValueSelect | null;
        UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        ApplicableDate: IfcDateTimeSelect | null;
        FixedUntilDate: IfcDateTimeSelect | null;
        ImpactType: IfcLabel;
        Category: IfcEnvironmentalImpactCategoryEnum;
        UserDefinedCategory: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, AppliedValue: IfcAppliedValueSelect | null, UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, ApplicableDate: IfcDateTimeSelect | null, FixedUntilDate: IfcDateTimeSelect | null, ImpactType: IfcLabel, Category: IfcEnvironmentalImpactCategoryEnum, UserDefinedCategory: IfcLabel | null);
    }
    class IfcExternalReference extends IfcLineObject {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedHatchStyle extends IfcExternalReference {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedSymbol extends IfcExternalReference {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedTextFont extends IfcExternalReference {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcGridAxis extends IfcLineObject {
        AxisTag: IfcLabel | null;
        AxisCurve: (Handle<IfcCurve> | IfcCurve);
        SameSense: IfcBoolean;
        type: number;
        PartOfW: (Handle<IfcGrid> | IfcGrid)[] | null;
        PartOfV: (Handle<IfcGrid> | IfcGrid)[] | null;
        PartOfU: (Handle<IfcGrid> | IfcGrid)[] | null;
        HasIntersections: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection)[] | null;
        constructor(AxisTag: IfcLabel | null, AxisCurve: (Handle<IfcCurve> | IfcCurve), SameSense: IfcBoolean);
    }
    class IfcIrregularTimeSeriesValue extends IfcLineObject {
        TimeStamp: IfcDateTimeSelect;
        ListValues: IfcValue[];
        type: number;
        constructor(TimeStamp: IfcDateTimeSelect, ListValues: IfcValue[]);
    }
    class IfcLibraryInformation extends IfcLineObject {
        Name: IfcLabel;
        Version: IfcLabel | null;
        Publisher: (Handle<IfcOrganization> | IfcOrganization) | null;
        VersionDate: (Handle<IfcCalendarDate> | IfcCalendarDate) | null;
        LibraryReference: (Handle<IfcLibraryReference> | IfcLibraryReference)[] | null;
        type: number;
        constructor(Name: IfcLabel, Version: IfcLabel | null, Publisher: (Handle<IfcOrganization> | IfcOrganization) | null, VersionDate: (Handle<IfcCalendarDate> | IfcCalendarDate) | null, LibraryReference: (Handle<IfcLibraryReference> | IfcLibraryReference)[] | null);
    }
    class IfcLibraryReference extends IfcExternalReference {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        ReferenceIntoLibrary: (Handle<IfcLibraryInformation> | IfcLibraryInformation)[] | null;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcLightDistributionData extends IfcLineObject {
        MainPlaneAngle: IfcPlaneAngleMeasure;
        SecondaryPlaneAngle: IfcPlaneAngleMeasure[];
        LuminousIntensity: IfcLuminousIntensityDistributionMeasure[];
        type: number;
        constructor(MainPlaneAngle: IfcPlaneAngleMeasure, SecondaryPlaneAngle: IfcPlaneAngleMeasure[], LuminousIntensity: IfcLuminousIntensityDistributionMeasure[]);
    }
    class IfcLightIntensityDistribution extends IfcLineObject {
        LightDistributionCurve: IfcLightDistributionCurveEnum;
        DistributionData: (Handle<IfcLightDistributionData> | IfcLightDistributionData)[];
        type: number;
        constructor(LightDistributionCurve: IfcLightDistributionCurveEnum, DistributionData: (Handle<IfcLightDistributionData> | IfcLightDistributionData)[]);
    }
    class IfcLocalTime extends IfcLineObject {
        HourComponent: IfcHourInDay;
        MinuteComponent: IfcMinuteInHour | null;
        SecondComponent: IfcSecondInMinute | null;
        Zone: (Handle<IfcCoordinatedUniversalTimeOffset> | IfcCoordinatedUniversalTimeOffset) | null;
        DaylightSavingOffset: IfcDaylightSavingHour | null;
        type: number;
        constructor(HourComponent: IfcHourInDay, MinuteComponent: IfcMinuteInHour | null, SecondComponent: IfcSecondInMinute | null, Zone: (Handle<IfcCoordinatedUniversalTimeOffset> | IfcCoordinatedUniversalTimeOffset) | null, DaylightSavingOffset: IfcDaylightSavingHour | null);
    }
    class IfcMaterial extends IfcLineObject {
        Name: IfcLabel;
        type: number;
        HasRepresentation: (Handle<IfcMaterialDefinitionRepresentation> | IfcMaterialDefinitionRepresentation)[] | null;
        ClassifiedAs: (Handle<IfcMaterialClassificationRelationship> | IfcMaterialClassificationRelationship)[] | null;
        constructor(Name: IfcLabel);
    }
    class IfcMaterialClassificationRelationship extends IfcLineObject {
        MaterialClassifications: IfcClassificationNotationSelect[];
        ClassifiedMaterial: (Handle<IfcMaterial> | IfcMaterial);
        type: number;
        constructor(MaterialClassifications: IfcClassificationNotationSelect[], ClassifiedMaterial: (Handle<IfcMaterial> | IfcMaterial));
    }
    class IfcMaterialLayer extends IfcLineObject {
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        LayerThickness: IfcPositiveLengthMeasure;
        IsVentilated: IfcLogical | null;
        type: number;
        ToMaterialLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet) | null;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial) | null, LayerThickness: IfcPositiveLengthMeasure, IsVentilated: IfcLogical | null);
    }
    class IfcMaterialLayerSet extends IfcLineObject {
        MaterialLayers: (Handle<IfcMaterialLayer> | IfcMaterialLayer)[];
        LayerSetName: IfcLabel | null;
        type: number;
        constructor(MaterialLayers: (Handle<IfcMaterialLayer> | IfcMaterialLayer)[], LayerSetName: IfcLabel | null);
    }
    class IfcMaterialLayerSetUsage extends IfcLineObject {
        ForLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet);
        LayerSetDirection: IfcLayerSetDirectionEnum;
        DirectionSense: IfcDirectionSenseEnum;
        OffsetFromReferenceLine: IfcLengthMeasure;
        type: number;
        constructor(ForLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet), LayerSetDirection: IfcLayerSetDirectionEnum, DirectionSense: IfcDirectionSenseEnum, OffsetFromReferenceLine: IfcLengthMeasure);
    }
    class IfcMaterialList extends IfcLineObject {
        Materials: (Handle<IfcMaterial> | IfcMaterial)[];
        type: number;
        constructor(Materials: (Handle<IfcMaterial> | IfcMaterial)[]);
    }
    class IfcMaterialProperties extends IfcLineObject {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial));
    }
    class IfcMeasureWithUnit extends IfcLineObject {
        ValueComponent: IfcValue;
        UnitComponent: IfcUnit;
        type: number;
        constructor(ValueComponent: IfcValue, UnitComponent: IfcUnit);
    }
    class IfcMechanicalMaterialProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        DynamicViscosity: IfcDynamicViscosityMeasure | null;
        YoungModulus: IfcModulusOfElasticityMeasure | null;
        ShearModulus: IfcModulusOfElasticityMeasure | null;
        PoissonRatio: IfcPositiveRatioMeasure | null;
        ThermalExpansionCoefficient: IfcThermalExpansionCoefficientMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), DynamicViscosity: IfcDynamicViscosityMeasure | null, YoungModulus: IfcModulusOfElasticityMeasure | null, ShearModulus: IfcModulusOfElasticityMeasure | null, PoissonRatio: IfcPositiveRatioMeasure | null, ThermalExpansionCoefficient: IfcThermalExpansionCoefficientMeasure | null);
    }
    class IfcMechanicalSteelMaterialProperties extends IfcMechanicalMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        DynamicViscosity: IfcDynamicViscosityMeasure | null;
        YoungModulus: IfcModulusOfElasticityMeasure | null;
        ShearModulus: IfcModulusOfElasticityMeasure | null;
        PoissonRatio: IfcPositiveRatioMeasure | null;
        ThermalExpansionCoefficient: IfcThermalExpansionCoefficientMeasure | null;
        YieldStress: IfcPressureMeasure | null;
        UltimateStress: IfcPressureMeasure | null;
        UltimateStrain: IfcPositiveRatioMeasure | null;
        HardeningModule: IfcModulusOfElasticityMeasure | null;
        ProportionalStress: IfcPressureMeasure | null;
        PlasticStrain: IfcPositiveRatioMeasure | null;
        Relaxations: (Handle<IfcRelaxation> | IfcRelaxation)[] | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), DynamicViscosity: IfcDynamicViscosityMeasure | null, YoungModulus: IfcModulusOfElasticityMeasure | null, ShearModulus: IfcModulusOfElasticityMeasure | null, PoissonRatio: IfcPositiveRatioMeasure | null, ThermalExpansionCoefficient: IfcThermalExpansionCoefficientMeasure | null, YieldStress: IfcPressureMeasure | null, UltimateStress: IfcPressureMeasure | null, UltimateStrain: IfcPositiveRatioMeasure | null, HardeningModule: IfcModulusOfElasticityMeasure | null, ProportionalStress: IfcPressureMeasure | null, PlasticStrain: IfcPositiveRatioMeasure | null, Relaxations: (Handle<IfcRelaxation> | IfcRelaxation)[] | null);
    }
    class IfcMetric extends IfcConstraint {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTimeSelect | null;
        UserDefinedGrade: IfcLabel | null;
        Benchmark: IfcBenchmarkEnum;
        ValueSource: IfcLabel | null;
        DataValue: IfcMetricValueSelect;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTimeSelect | null, UserDefinedGrade: IfcLabel | null, Benchmark: IfcBenchmarkEnum, ValueSource: IfcLabel | null, DataValue: IfcMetricValueSelect);
    }
    class IfcMonetaryUnit extends IfcLineObject {
        Currency: IfcCurrencyEnum;
        type: number;
        constructor(Currency: IfcCurrencyEnum);
    }
    class IfcNamedUnit extends IfcLineObject {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        type: number;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum);
    }
    class IfcObjectPlacement extends IfcLineObject {
        type: number;
        PlacesObject: (Handle<IfcProduct> | IfcProduct)[] | null;
        ReferencedByPlacements: (Handle<IfcLocalPlacement> | IfcLocalPlacement)[] | null;
        constructor();
    }
    class IfcObjective extends IfcConstraint {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTimeSelect | null;
        UserDefinedGrade: IfcLabel | null;
        BenchmarkValues: (Handle<IfcMetric> | IfcMetric) | null;
        ResultValues: (Handle<IfcMetric> | IfcMetric) | null;
        ObjectiveQualifier: IfcObjectiveEnum;
        UserDefinedQualifier: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTimeSelect | null, UserDefinedGrade: IfcLabel | null, BenchmarkValues: (Handle<IfcMetric> | IfcMetric) | null, ResultValues: (Handle<IfcMetric> | IfcMetric) | null, ObjectiveQualifier: IfcObjectiveEnum, UserDefinedQualifier: IfcLabel | null);
    }
    class IfcOpticalMaterialProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        VisibleTransmittance: IfcPositiveRatioMeasure | null;
        SolarTransmittance: IfcPositiveRatioMeasure | null;
        ThermalIrTransmittance: IfcPositiveRatioMeasure | null;
        ThermalIrEmissivityBack: IfcPositiveRatioMeasure | null;
        ThermalIrEmissivityFront: IfcPositiveRatioMeasure | null;
        VisibleReflectanceBack: IfcPositiveRatioMeasure | null;
        VisibleReflectanceFront: IfcPositiveRatioMeasure | null;
        SolarReflectanceFront: IfcPositiveRatioMeasure | null;
        SolarReflectanceBack: IfcPositiveRatioMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), VisibleTransmittance: IfcPositiveRatioMeasure | null, SolarTransmittance: IfcPositiveRatioMeasure | null, ThermalIrTransmittance: IfcPositiveRatioMeasure | null, ThermalIrEmissivityBack: IfcPositiveRatioMeasure | null, ThermalIrEmissivityFront: IfcPositiveRatioMeasure | null, VisibleReflectanceBack: IfcPositiveRatioMeasure | null, VisibleReflectanceFront: IfcPositiveRatioMeasure | null, SolarReflectanceFront: IfcPositiveRatioMeasure | null, SolarReflectanceBack: IfcPositiveRatioMeasure | null);
    }
    class IfcOrganization extends IfcLineObject {
        Id: IfcIdentifier | null;
        Name: IfcLabel;
        Description: IfcText | null;
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        Addresses: (Handle<IfcAddress> | IfcAddress)[] | null;
        type: number;
        IsRelatedBy: (Handle<IfcOrganizationRelationship> | IfcOrganizationRelationship)[] | null;
        Relates: (Handle<IfcOrganizationRelationship> | IfcOrganizationRelationship)[] | null;
        Engages: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization)[] | null;
        constructor(Id: IfcIdentifier | null, Name: IfcLabel, Description: IfcText | null, Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null, Addresses: (Handle<IfcAddress> | IfcAddress)[] | null);
    }
    class IfcOrganizationRelationship extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        RelatingOrganization: (Handle<IfcOrganization> | IfcOrganization);
        RelatedOrganizations: (Handle<IfcOrganization> | IfcOrganization)[];
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, RelatingOrganization: (Handle<IfcOrganization> | IfcOrganization), RelatedOrganizations: (Handle<IfcOrganization> | IfcOrganization)[]);
    }
    class IfcOwnerHistory extends IfcLineObject {
        OwningUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization);
        OwningApplication: (Handle<IfcApplication> | IfcApplication);
        State: IfcStateEnum | null;
        ChangeAction: IfcChangeActionEnum;
        LastModifiedDate: IfcTimeStamp | null;
        LastModifyingUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | null;
        LastModifyingApplication: (Handle<IfcApplication> | IfcApplication) | null;
        CreationDate: IfcTimeStamp;
        type: number;
        constructor(OwningUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization), OwningApplication: (Handle<IfcApplication> | IfcApplication), State: IfcStateEnum | null, ChangeAction: IfcChangeActionEnum, LastModifiedDate: IfcTimeStamp | null, LastModifyingUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | null, LastModifyingApplication: (Handle<IfcApplication> | IfcApplication) | null, CreationDate: IfcTimeStamp);
    }
    class IfcPerson extends IfcLineObject {
        Id: IfcIdentifier | null;
        FamilyName: IfcLabel | null;
        GivenName: IfcLabel | null;
        MiddleNames: IfcLabel[] | null;
        PrefixTitles: IfcLabel[] | null;
        SuffixTitles: IfcLabel[] | null;
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        Addresses: (Handle<IfcAddress> | IfcAddress)[] | null;
        type: number;
        EngagedIn: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization)[] | null;
        constructor(Id: IfcIdentifier | null, FamilyName: IfcLabel | null, GivenName: IfcLabel | null, MiddleNames: IfcLabel[] | null, PrefixTitles: IfcLabel[] | null, SuffixTitles: IfcLabel[] | null, Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null, Addresses: (Handle<IfcAddress> | IfcAddress)[] | null);
    }
    class IfcPersonAndOrganization extends IfcLineObject {
        ThePerson: (Handle<IfcPerson> | IfcPerson);
        TheOrganization: (Handle<IfcOrganization> | IfcOrganization);
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        type: number;
        constructor(ThePerson: (Handle<IfcPerson> | IfcPerson), TheOrganization: (Handle<IfcOrganization> | IfcOrganization), Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null);
    }
    class IfcPhysicalQuantity extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        type: number;
        PartOfComplex: (Handle<IfcPhysicalComplexQuantity> | IfcPhysicalComplexQuantity)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null);
    }
    class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null);
    }
    class IfcPostalAddress extends IfcAddress {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        InternalLocation: IfcLabel | null;
        AddressLines: IfcLabel[] | null;
        PostalBox: IfcLabel | null;
        Town: IfcLabel | null;
        Region: IfcLabel | null;
        PostalCode: IfcLabel | null;
        Country: IfcLabel | null;
        type: number;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null, InternalLocation: IfcLabel | null, AddressLines: IfcLabel[] | null, PostalBox: IfcLabel | null, Town: IfcLabel | null, Region: IfcLabel | null, PostalCode: IfcLabel | null, Country: IfcLabel | null);
    }
    class IfcPreDefinedItem extends IfcLineObject {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedSymbol extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedTerminatorSymbol extends IfcPreDefinedSymbol {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedTextFont extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPresentationLayerAssignment extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        AssignedItems: IfcLayeredItem[];
        Identifier: IfcIdentifier | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, AssignedItems: IfcLayeredItem[], Identifier: IfcIdentifier | null);
    }
    class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment {
        Name: IfcLabel;
        Description: IfcText | null;
        AssignedItems: IfcLayeredItem[];
        Identifier: IfcIdentifier | null;
        LayerOn: logical;
        LayerFrozen: logical;
        LayerBlocked: logical;
        LayerStyles: IfcPresentationStyleSelect[] | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, AssignedItems: IfcLayeredItem[], Identifier: IfcIdentifier | null, LayerOn: logical, LayerFrozen: logical, LayerBlocked: logical, LayerStyles: IfcPresentationStyleSelect[] | null);
    }
    class IfcPresentationStyle extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcPresentationStyleAssignment extends IfcLineObject {
        Styles: IfcPresentationStyleSelect[];
        type: number;
        constructor(Styles: IfcPresentationStyleSelect[]);
    }
    class IfcProductRepresentation extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[]);
    }
    class IfcProductsOfCombustionProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        SpecificHeatCapacity: IfcSpecificHeatCapacityMeasure | null;
        N20Content: IfcPositiveRatioMeasure | null;
        COContent: IfcPositiveRatioMeasure | null;
        CO2Content: IfcPositiveRatioMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), SpecificHeatCapacity: IfcSpecificHeatCapacityMeasure | null, N20Content: IfcPositiveRatioMeasure | null, COContent: IfcPositiveRatioMeasure | null, CO2Content: IfcPositiveRatioMeasure | null);
    }
    class IfcProfileDef extends IfcLineObject {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null);
    }
    class IfcProfileProperties extends IfcLineObject {
        ProfileName: IfcLabel | null;
        ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        type: number;
        constructor(ProfileName: IfcLabel | null, ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null);
    }
    class IfcProperty extends IfcLineObject {
        Name: IfcIdentifier;
        Description: IfcText | null;
        type: number;
        PropertyForDependance: (Handle<IfcPropertyDependencyRelationship> | IfcPropertyDependencyRelationship)[] | null;
        PropertyDependsOn: (Handle<IfcPropertyDependencyRelationship> | IfcPropertyDependencyRelationship)[] | null;
        PartOfComplex: (Handle<IfcComplexProperty> | IfcComplexProperty)[] | null;
        constructor(Name: IfcIdentifier, Description: IfcText | null);
    }
    class IfcPropertyConstraintRelationship extends IfcLineObject {
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        RelatedProperties: (Handle<IfcProperty> | IfcProperty)[];
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint), RelatedProperties: (Handle<IfcProperty> | IfcProperty)[], Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcPropertyDependencyRelationship extends IfcLineObject {
        DependingProperty: (Handle<IfcProperty> | IfcProperty);
        DependantProperty: (Handle<IfcProperty> | IfcProperty);
        Name: IfcLabel | null;
        Description: IfcText | null;
        Expression: IfcText | null;
        type: number;
        constructor(DependingProperty: (Handle<IfcProperty> | IfcProperty), DependantProperty: (Handle<IfcProperty> | IfcProperty), Name: IfcLabel | null, Description: IfcText | null, Expression: IfcText | null);
    }
    class IfcPropertyEnumeration extends IfcLineObject {
        Name: IfcLabel;
        EnumerationValues: IfcValue[];
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcLabel, EnumerationValues: IfcValue[], Unit: IfcUnit | null);
    }
    class IfcQuantityArea extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        AreaValue: IfcAreaMeasure;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, AreaValue: IfcAreaMeasure);
    }
    class IfcQuantityCount extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        CountValue: IfcCountMeasure;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, CountValue: IfcCountMeasure);
    }
    class IfcQuantityLength extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        LengthValue: IfcLengthMeasure;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, LengthValue: IfcLengthMeasure);
    }
    class IfcQuantityTime extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        TimeValue: IfcTimeMeasure;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, TimeValue: IfcTimeMeasure);
    }
    class IfcQuantityVolume extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        VolumeValue: IfcVolumeMeasure;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, VolumeValue: IfcVolumeMeasure);
    }
    class IfcQuantityWeight extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        WeightValue: IfcMassMeasure;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, WeightValue: IfcMassMeasure);
    }
    class IfcReferencesValueDocument extends IfcLineObject {
        ReferencedDocument: IfcDocumentSelect;
        ReferencingValues: (Handle<IfcAppliedValue> | IfcAppliedValue)[];
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(ReferencedDocument: IfcDocumentSelect, ReferencingValues: (Handle<IfcAppliedValue> | IfcAppliedValue)[], Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcReinforcementBarProperties extends IfcLineObject {
        TotalCrossSectionArea: IfcAreaMeasure;
        SteelGrade: IfcLabel;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        EffectiveDepth: IfcLengthMeasure | null;
        NominalBarDiameter: IfcPositiveLengthMeasure | null;
        BarCount: IfcCountMeasure | null;
        type: number;
        constructor(TotalCrossSectionArea: IfcAreaMeasure, SteelGrade: IfcLabel, BarSurface: IfcReinforcingBarSurfaceEnum | null, EffectiveDepth: IfcLengthMeasure | null, NominalBarDiameter: IfcPositiveLengthMeasure | null, BarCount: IfcCountMeasure | null);
    }
    class IfcRelaxation extends IfcLineObject {
        RelaxationValue: IfcNormalisedRatioMeasure;
        InitialStress: IfcNormalisedRatioMeasure;
        type: number;
        constructor(RelaxationValue: IfcNormalisedRatioMeasure, InitialStress: IfcNormalisedRatioMeasure);
    }
    class IfcRepresentation extends IfcLineObject {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        RepresentationMap: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        LayerAssignments: (Handle<IfcPresentationLayerAssignment> | IfcPresentationLayerAssignment)[] | null;
        OfProductRepresentation: (Handle<IfcProductRepresentation> | IfcProductRepresentation)[] | null;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcRepresentationContext extends IfcLineObject {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        type: number;
        RepresentationsInContext: (Handle<IfcRepresentation> | IfcRepresentation)[] | null;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null);
    }
    class IfcRepresentationItem extends IfcLineObject {
        type: number;
        LayerAssignments: (Handle<IfcPresentationLayerAssignment> | IfcPresentationLayerAssignment)[] | null;
        StyledByItem: (Handle<IfcStyledItem> | IfcStyledItem)[] | null;
        constructor();
    }
    class IfcRepresentationMap extends IfcLineObject {
        MappingOrigin: IfcAxis2Placement;
        MappedRepresentation: (Handle<IfcRepresentation> | IfcRepresentation);
        type: number;
        MapUsage: (Handle<IfcMappedItem> | IfcMappedItem)[] | null;
        constructor(MappingOrigin: IfcAxis2Placement, MappedRepresentation: (Handle<IfcRepresentation> | IfcRepresentation));
    }
    class IfcRibPlateProfileProperties extends IfcProfileProperties {
        ProfileName: IfcLabel | null;
        ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        Thickness: IfcPositiveLengthMeasure | null;
        RibHeight: IfcPositiveLengthMeasure | null;
        RibWidth: IfcPositiveLengthMeasure | null;
        RibSpacing: IfcPositiveLengthMeasure | null;
        Direction: IfcRibPlateDirectionEnum;
        type: number;
        constructor(ProfileName: IfcLabel | null, ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null, Thickness: IfcPositiveLengthMeasure | null, RibHeight: IfcPositiveLengthMeasure | null, RibWidth: IfcPositiveLengthMeasure | null, RibSpacing: IfcPositiveLengthMeasure | null, Direction: IfcRibPlateDirectionEnum);
    }
    class IfcRoot extends IfcLineObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcSIUnit extends IfcNamedUnit {
        UnitType: IfcUnitEnum;
        Prefix: IfcSIPrefix | null;
        Name: IfcSIUnitName;
        type: number;
        constructor(UnitType: IfcUnitEnum, Prefix: IfcSIPrefix | null, Name: IfcSIUnitName);
    }
    class IfcSectionProperties extends IfcLineObject {
        SectionType: IfcSectionTypeEnum;
        StartProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        EndProfile: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        type: number;
        constructor(SectionType: IfcSectionTypeEnum, StartProfile: (Handle<IfcProfileDef> | IfcProfileDef), EndProfile: (Handle<IfcProfileDef> | IfcProfileDef) | null);
    }
    class IfcSectionReinforcementProperties extends IfcLineObject {
        LongitudinalStartPosition: IfcLengthMeasure;
        LongitudinalEndPosition: IfcLengthMeasure;
        TransversePosition: IfcLengthMeasure | null;
        ReinforcementRole: IfcReinforcingBarRoleEnum;
        SectionDefinition: (Handle<IfcSectionProperties> | IfcSectionProperties);
        CrossSectionReinforcementDefinitions: (Handle<IfcReinforcementBarProperties> | IfcReinforcementBarProperties)[];
        type: number;
        constructor(LongitudinalStartPosition: IfcLengthMeasure, LongitudinalEndPosition: IfcLengthMeasure, TransversePosition: IfcLengthMeasure | null, ReinforcementRole: IfcReinforcingBarRoleEnum, SectionDefinition: (Handle<IfcSectionProperties> | IfcSectionProperties), CrossSectionReinforcementDefinitions: (Handle<IfcReinforcementBarProperties> | IfcReinforcementBarProperties)[]);
    }
    class IfcShapeAspect extends IfcLineObject {
        ShapeRepresentations: (Handle<IfcShapeModel> | IfcShapeModel)[];
        Name: IfcLabel | null;
        Description: IfcText | null;
        ProductDefinitional: logical;
        PartOfProductDefinitionShape: (Handle<IfcProductDefinitionShape> | IfcProductDefinitionShape);
        type: number;
        constructor(ShapeRepresentations: (Handle<IfcShapeModel> | IfcShapeModel)[], Name: IfcLabel | null, Description: IfcText | null, ProductDefinitional: logical, PartOfProductDefinitionShape: (Handle<IfcProductDefinitionShape> | IfcProductDefinitionShape));
    }
    class IfcShapeModel extends IfcRepresentation {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        OfShapeAspect: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcShapeRepresentation extends IfcShapeModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcSimpleProperty extends IfcProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null);
    }
    class IfcStructuralConnectionCondition extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoad extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadStatic extends IfcStructuralLoad {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        DeltaT_Constant: IfcThermodynamicTemperatureMeasure | null;
        DeltaT_Y: IfcThermodynamicTemperatureMeasure | null;
        DeltaT_Z: IfcThermodynamicTemperatureMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DeltaT_Constant: IfcThermodynamicTemperatureMeasure | null, DeltaT_Y: IfcThermodynamicTemperatureMeasure | null, DeltaT_Z: IfcThermodynamicTemperatureMeasure | null);
    }
    class IfcStyleModel extends IfcRepresentation {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcStyledItem extends IfcRepresentationItem {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcStyledRepresentation extends IfcStyleModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcSurfaceStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        Side: IfcSurfaceSide;
        Styles: IfcSurfaceStyleElementSelect[];
        type: number;
        constructor(Name: IfcLabel | null, Side: IfcSurfaceSide, Styles: IfcSurfaceStyleElementSelect[]);
    }
    class IfcSurfaceStyleLighting extends IfcLineObject {
        DiffuseTransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        DiffuseReflectionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        TransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        ReflectanceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        type: number;
        constructor(DiffuseTransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb), DiffuseReflectionColour: (Handle<IfcColourRgb> | IfcColourRgb), TransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb), ReflectanceColour: (Handle<IfcColourRgb> | IfcColourRgb));
    }
    class IfcSurfaceStyleRefraction extends IfcLineObject {
        RefractionIndex: IfcReal | null;
        DispersionFactor: IfcReal | null;
        type: number;
        constructor(RefractionIndex: IfcReal | null, DispersionFactor: IfcReal | null);
    }
    class IfcSurfaceStyleShading extends IfcLineObject {
        SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        type: number;
        constructor(SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb));
    }
    class IfcSurfaceStyleWithTextures extends IfcLineObject {
        Textures: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        type: number;
        constructor(Textures: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[]);
    }
    class IfcSurfaceTexture extends IfcLineObject {
        RepeatS: boolean;
        RepeatT: boolean;
        TextureType: IfcSurfaceTextureEnum;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        type: number;
        constructor(RepeatS: boolean, RepeatT: boolean, TextureType: IfcSurfaceTextureEnum, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null);
    }
    class IfcSymbolStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        StyleOfSymbol: IfcSymbolStyleSelect;
        type: number;
        constructor(Name: IfcLabel | null, StyleOfSymbol: IfcSymbolStyleSelect);
    }
    class IfcTable extends IfcLineObject {
        Name: string;
        Rows: (Handle<IfcTableRow> | IfcTableRow)[];
        type: number;
        constructor(Name: string, Rows: (Handle<IfcTableRow> | IfcTableRow)[]);
    }
    class IfcTableRow extends IfcLineObject {
        RowCells: IfcValue[];
        IsHeading: boolean;
        type: number;
        OfTable: (Handle<IfcTable> | IfcTable) | null;
        constructor(RowCells: IfcValue[], IsHeading: boolean);
    }
    class IfcTelecomAddress extends IfcAddress {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        TelephoneNumbers: IfcLabel[] | null;
        FacsimileNumbers: IfcLabel[] | null;
        PagerNumber: IfcLabel | null;
        ElectronicMailAddresses: IfcLabel[] | null;
        WWWHomePageURL: IfcLabel | null;
        type: number;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null, TelephoneNumbers: IfcLabel[] | null, FacsimileNumbers: IfcLabel[] | null, PagerNumber: IfcLabel | null, ElectronicMailAddresses: IfcLabel[] | null, WWWHomePageURL: IfcLabel | null);
    }
    class IfcTextStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        TextCharacterAppearance: IfcCharacterStyleSelect | null;
        TextStyle: IfcTextStyleSelect | null;
        TextFontStyle: IfcTextFontSelect;
        type: number;
        constructor(Name: IfcLabel | null, TextCharacterAppearance: IfcCharacterStyleSelect | null, TextStyle: IfcTextStyleSelect | null, TextFontStyle: IfcTextFontSelect);
    }
    class IfcTextStyleFontModel extends IfcPreDefinedTextFont {
        Name: IfcLabel;
        FontFamily: IfcTextFontName[] | null;
        FontStyle: IfcFontStyle | null;
        FontVariant: IfcFontVariant | null;
        FontWeight: IfcFontWeight | null;
        FontSize: IfcSizeSelect;
        type: number;
        constructor(Name: IfcLabel, FontFamily: IfcTextFontName[] | null, FontStyle: IfcFontStyle | null, FontVariant: IfcFontVariant | null, FontWeight: IfcFontWeight | null, FontSize: IfcSizeSelect);
    }
    class IfcTextStyleForDefinedFont extends IfcLineObject {
        Colour: IfcColour;
        BackgroundColour: IfcColour | null;
        type: number;
        constructor(Colour: IfcColour, BackgroundColour: IfcColour | null);
    }
    class IfcTextStyleTextModel extends IfcLineObject {
        TextIndent: IfcSizeSelect | null;
        TextAlign: IfcTextAlignment | null;
        TextDecoration: IfcTextDecoration | null;
        LetterSpacing: IfcSizeSelect | null;
        WordSpacing: IfcSizeSelect | null;
        TextTransform: IfcTextTransformation | null;
        LineHeight: IfcSizeSelect | null;
        type: number;
        constructor(TextIndent: IfcSizeSelect | null, TextAlign: IfcTextAlignment | null, TextDecoration: IfcTextDecoration | null, LetterSpacing: IfcSizeSelect | null, WordSpacing: IfcSizeSelect | null, TextTransform: IfcTextTransformation | null, LineHeight: IfcSizeSelect | null);
    }
    class IfcTextStyleWithBoxCharacteristics extends IfcLineObject {
        BoxHeight: IfcPositiveLengthMeasure | null;
        BoxWidth: IfcPositiveLengthMeasure | null;
        BoxSlantAngle: IfcPlaneAngleMeasure | null;
        BoxRotateAngle: IfcPlaneAngleMeasure | null;
        CharacterSpacing: IfcSizeSelect | null;
        type: number;
        constructor(BoxHeight: IfcPositiveLengthMeasure | null, BoxWidth: IfcPositiveLengthMeasure | null, BoxSlantAngle: IfcPlaneAngleMeasure | null, BoxRotateAngle: IfcPlaneAngleMeasure | null, CharacterSpacing: IfcSizeSelect | null);
    }
    class IfcTextureCoordinate extends IfcLineObject {
        type: number;
        AnnotatedSurface: (Handle<IfcAnnotationSurface> | IfcAnnotationSurface)[] | null;
        constructor();
    }
    class IfcTextureCoordinateGenerator extends IfcTextureCoordinate {
        Mode: IfcLabel;
        Parameter: IfcSimpleValue[];
        type: number;
        constructor(Mode: IfcLabel, Parameter: IfcSimpleValue[]);
    }
    class IfcTextureMap extends IfcTextureCoordinate {
        TextureMaps: (Handle<IfcVertexBasedTextureMap> | IfcVertexBasedTextureMap)[];
        type: number;
        constructor(TextureMaps: (Handle<IfcVertexBasedTextureMap> | IfcVertexBasedTextureMap)[]);
    }
    class IfcTextureVertex extends IfcLineObject {
        Coordinates: IfcParameterValue[];
        type: number;
        constructor(Coordinates: IfcParameterValue[]);
    }
    class IfcThermalMaterialProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        SpecificHeatCapacity: IfcSpecificHeatCapacityMeasure | null;
        BoilingPoint: IfcThermodynamicTemperatureMeasure | null;
        FreezingPoint: IfcThermodynamicTemperatureMeasure | null;
        ThermalConductivity: IfcThermalConductivityMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), SpecificHeatCapacity: IfcSpecificHeatCapacityMeasure | null, BoilingPoint: IfcThermodynamicTemperatureMeasure | null, FreezingPoint: IfcThermodynamicTemperatureMeasure | null, ThermalConductivity: IfcThermalConductivityMeasure | null);
    }
    class IfcTimeSeries extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTimeSelect;
        EndTime: IfcDateTimeSelect;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        type: number;
        DocumentedBy: (Handle<IfcTimeSeriesReferenceRelationship> | IfcTimeSeriesReferenceRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTimeSelect, EndTime: IfcDateTimeSelect, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null);
    }
    class IfcTimeSeriesReferenceRelationship extends IfcLineObject {
        ReferencedTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries);
        TimeSeriesReferences: IfcDocumentSelect[];
        type: number;
        constructor(ReferencedTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries), TimeSeriesReferences: IfcDocumentSelect[]);
    }
    class IfcTimeSeriesValue extends IfcLineObject {
        ListValues: IfcValue[];
        type: number;
        constructor(ListValues: IfcValue[]);
    }
    class IfcTopologicalRepresentationItem extends IfcRepresentationItem {
        type: number;
        constructor();
    }
    class IfcTopologyRepresentation extends IfcShapeModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcUnitAssignment extends IfcLineObject {
        Units: IfcUnit[];
        type: number;
        constructor(Units: IfcUnit[]);
    }
    class IfcVertex extends IfcTopologicalRepresentationItem {
        type: number;
        constructor();
    }
    class IfcVertexBasedTextureMap extends IfcLineObject {
        TextureVertices: (Handle<IfcTextureVertex> | IfcTextureVertex)[];
        TexturePoints: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        type: number;
        constructor(TextureVertices: (Handle<IfcTextureVertex> | IfcTextureVertex)[], TexturePoints: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[]);
    }
    class IfcVertexPoint extends IfcVertex {
        VertexGeometry: (Handle<IfcPoint> | IfcPoint);
        type: number;
        constructor(VertexGeometry: (Handle<IfcPoint> | IfcPoint));
    }
    class IfcVirtualGridIntersection extends IfcLineObject {
        IntersectingAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        OffsetDistances: IfcLengthMeasure[];
        type: number;
        constructor(IntersectingAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], OffsetDistances: IfcLengthMeasure[]);
    }
    class IfcWaterProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        IsPotable: boolean | null;
        Hardness: IfcIonConcentrationMeasure | null;
        AlkalinityConcentration: IfcIonConcentrationMeasure | null;
        AcidityConcentration: IfcIonConcentrationMeasure | null;
        ImpuritiesContent: IfcNormalisedRatioMeasure | null;
        PHLevel: IfcPHMeasure | null;
        DissolvedSolidsContent: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), IsPotable: boolean | null, Hardness: IfcIonConcentrationMeasure | null, AlkalinityConcentration: IfcIonConcentrationMeasure | null, AcidityConcentration: IfcIonConcentrationMeasure | null, ImpuritiesContent: IfcNormalisedRatioMeasure | null, PHLevel: IfcPHMeasure | null, DissolvedSolidsContent: IfcNormalisedRatioMeasure | null);
    }
    class IfcAnnotationOccurrence extends IfcStyledItem {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcAnnotationSurfaceOccurrence extends IfcAnnotationOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcAnnotationSymbolOccurrence extends IfcAnnotationOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcAnnotationTextOccurrence extends IfcAnnotationOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcArbitraryClosedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        OuterCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, OuterCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcArbitraryOpenProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve));
    }
    class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        OuterCurve: (Handle<IfcCurve> | IfcCurve);
        InnerCurves: (Handle<IfcCurve> | IfcCurve)[];
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, OuterCurve: (Handle<IfcCurve> | IfcCurve), InnerCurves: (Handle<IfcCurve> | IfcCurve)[]);
    }
    class IfcBlobTexture extends IfcSurfaceTexture {
        RepeatS: boolean;
        RepeatT: boolean;
        TextureType: IfcSurfaceTextureEnum;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        RasterFormat: IfcIdentifier;
        RasterCode: boolean;
        type: number;
        constructor(RepeatS: boolean, RepeatT: boolean, TextureType: IfcSurfaceTextureEnum, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, RasterFormat: IfcIdentifier, RasterCode: boolean);
    }
    class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        Thickness: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve), Thickness: IfcPositiveLengthMeasure);
    }
    class IfcClassificationReference extends IfcExternalReference {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        ReferencedSource: (Handle<IfcClassification> | IfcClassification) | null;
        type: number;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null, ReferencedSource: (Handle<IfcClassification> | IfcClassification) | null);
    }
    class IfcColourRgb extends IfcColourSpecification {
        Name: IfcLabel | null;
        Red: IfcNormalisedRatioMeasure;
        Green: IfcNormalisedRatioMeasure;
        Blue: IfcNormalisedRatioMeasure;
        type: number;
        constructor(Name: IfcLabel | null, Red: IfcNormalisedRatioMeasure, Green: IfcNormalisedRatioMeasure, Blue: IfcNormalisedRatioMeasure);
    }
    class IfcComplexProperty extends IfcProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        UsageName: IfcIdentifier;
        HasProperties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, UsageName: IfcIdentifier, HasProperties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcCompositeProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Profiles: (Handle<IfcProfileDef> | IfcProfileDef)[];
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Profiles: (Handle<IfcProfileDef> | IfcProfileDef)[], Label: IfcLabel | null);
    }
    class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcConnectionCurveGeometry extends IfcConnectionGeometry {
        CurveOnRelatingElement: IfcCurveOrEdgeCurve;
        CurveOnRelatedElement: IfcCurveOrEdgeCurve | null;
        type: number;
        constructor(CurveOnRelatingElement: IfcCurveOrEdgeCurve, CurveOnRelatedElement: IfcCurveOrEdgeCurve | null);
    }
    class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry {
        PointOnRelatingElement: IfcPointOrVertexPoint;
        PointOnRelatedElement: IfcPointOrVertexPoint | null;
        EccentricityInX: IfcLengthMeasure | null;
        EccentricityInY: IfcLengthMeasure | null;
        EccentricityInZ: IfcLengthMeasure | null;
        type: number;
        constructor(PointOnRelatingElement: IfcPointOrVertexPoint, PointOnRelatedElement: IfcPointOrVertexPoint | null, EccentricityInX: IfcLengthMeasure | null, EccentricityInY: IfcLengthMeasure | null, EccentricityInZ: IfcLengthMeasure | null);
    }
    class IfcContextDependentUnit extends IfcNamedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        type: number;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel);
    }
    class IfcConversionBasedUnit extends IfcNamedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit);
        type: number;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel, ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit));
    }
    class IfcCurveStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        CurveFont: IfcCurveFontOrScaledCurveFontSelect | null;
        CurveWidth: IfcSizeSelect | null;
        CurveColour: IfcColour | null;
        type: number;
        constructor(Name: IfcLabel | null, CurveFont: IfcCurveFontOrScaledCurveFontSelect | null, CurveWidth: IfcSizeSelect | null, CurveColour: IfcColour | null);
    }
    class IfcDerivedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        Operator: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D);
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef), Operator: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D), Label: IfcLabel | null);
    }
    class IfcDimensionCalloutRelationship extends IfcDraughtingCalloutRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout);
        RelatedDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout), RelatedDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout));
    }
    class IfcDimensionPair extends IfcDraughtingCalloutRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout);
        RelatedDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout), RelatedDraughtingCallout: (Handle<IfcDraughtingCallout> | IfcDraughtingCallout));
    }
    class IfcDocumentReference extends IfcExternalReference {
        Location: IfcLabel | null;
        ItemReference: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        ReferenceToDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation)[] | null;
        constructor(Location: IfcLabel | null, ItemReference: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcDraughtingPreDefinedTextFont extends IfcPreDefinedTextFont {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcEdge extends IfcTopologicalRepresentationItem {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex));
    }
    class IfcEdgeCurve extends IfcEdge {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        EdgeGeometry: (Handle<IfcCurve> | IfcCurve);
        SameSense: boolean;
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex), EdgeGeometry: (Handle<IfcCurve> | IfcCurve), SameSense: boolean);
    }
    class IfcExtendedMaterialProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        ExtendedProperties: (Handle<IfcProperty> | IfcProperty)[];
        Description: IfcText | null;
        Name: IfcLabel;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), ExtendedProperties: (Handle<IfcProperty> | IfcProperty)[], Description: IfcText | null, Name: IfcLabel);
    }
    class IfcFace extends IfcTopologicalRepresentationItem {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        type: number;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[]);
    }
    class IfcFaceBound extends IfcTopologicalRepresentationItem {
        Bound: (Handle<IfcLoop> | IfcLoop);
        Orientation: boolean;
        type: number;
        constructor(Bound: (Handle<IfcLoop> | IfcLoop), Orientation: boolean);
    }
    class IfcFaceOuterBound extends IfcFaceBound {
        Bound: (Handle<IfcLoop> | IfcLoop);
        Orientation: boolean;
        type: number;
        constructor(Bound: (Handle<IfcLoop> | IfcLoop), Orientation: boolean);
    }
    class IfcFaceSurface extends IfcFace {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        FaceSurface: (Handle<IfcSurface> | IfcSurface);
        SameSense: boolean;
        type: number;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[], FaceSurface: (Handle<IfcSurface> | IfcSurface), SameSense: boolean);
    }
    class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition {
        Name: IfcLabel | null;
        TensionFailureX: IfcForceMeasure | null;
        TensionFailureY: IfcForceMeasure | null;
        TensionFailureZ: IfcForceMeasure | null;
        CompressionFailureX: IfcForceMeasure | null;
        CompressionFailureY: IfcForceMeasure | null;
        CompressionFailureZ: IfcForceMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, TensionFailureX: IfcForceMeasure | null, TensionFailureY: IfcForceMeasure | null, TensionFailureZ: IfcForceMeasure | null, CompressionFailureX: IfcForceMeasure | null, CompressionFailureY: IfcForceMeasure | null, CompressionFailureZ: IfcForceMeasure | null);
    }
    class IfcFillAreaStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        FillStyles: IfcFillStyleSelect[];
        type: number;
        constructor(Name: IfcLabel | null, FillStyles: IfcFillStyleSelect[]);
    }
    class IfcFuelProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        CombustionTemperature: IfcThermodynamicTemperatureMeasure | null;
        CarbonContent: IfcPositiveRatioMeasure | null;
        LowerHeatingValue: IfcHeatingValueMeasure | null;
        HigherHeatingValue: IfcHeatingValueMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), CombustionTemperature: IfcThermodynamicTemperatureMeasure | null, CarbonContent: IfcPositiveRatioMeasure | null, LowerHeatingValue: IfcHeatingValueMeasure | null, HigherHeatingValue: IfcHeatingValueMeasure | null);
    }
    class IfcGeneralMaterialProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        MolecularWeight: IfcMolecularWeightMeasure | null;
        Porosity: IfcNormalisedRatioMeasure | null;
        MassDensity: IfcMassDensityMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), MolecularWeight: IfcMolecularWeightMeasure | null, Porosity: IfcNormalisedRatioMeasure | null, MassDensity: IfcMassDensityMeasure | null);
    }
    class IfcGeneralProfileProperties extends IfcProfileProperties {
        ProfileName: IfcLabel | null;
        ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        PhysicalWeight: IfcMassPerLengthMeasure | null;
        Perimeter: IfcPositiveLengthMeasure | null;
        MinimumPlateThickness: IfcPositiveLengthMeasure | null;
        MaximumPlateThickness: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        type: number;
        constructor(ProfileName: IfcLabel | null, ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null, PhysicalWeight: IfcMassPerLengthMeasure | null, Perimeter: IfcPositiveLengthMeasure | null, MinimumPlateThickness: IfcPositiveLengthMeasure | null, MaximumPlateThickness: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null);
    }
    class IfcGeometricRepresentationContext extends IfcRepresentationContext {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        CoordinateSpaceDimension: IfcDimensionCount;
        Precision: number | null;
        WorldCoordinateSystem: IfcAxis2Placement;
        TrueNorth: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        HasSubContexts: (Handle<IfcGeometricRepresentationSubContext> | IfcGeometricRepresentationSubContext)[] | null;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null, CoordinateSpaceDimension: IfcDimensionCount, Precision: number | null, WorldCoordinateSystem: IfcAxis2Placement, TrueNorth: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcGeometricRepresentationItem extends IfcRepresentationItem {
        type: number;
        constructor();
    }
    class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        ParentContext: (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext);
        TargetScale: IfcPositiveRatioMeasure | null;
        TargetView: IfcGeometricProjectionEnum;
        UserDefinedTargetView: IfcLabel | null;
        type: number;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null, ParentContext: (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext), TargetScale: IfcPositiveRatioMeasure | null, TargetView: IfcGeometricProjectionEnum, UserDefinedTargetView: IfcLabel | null);
    }
    class IfcGeometricSet extends IfcGeometricRepresentationItem {
        Elements: IfcGeometricSetSelect[];
        type: number;
        constructor(Elements: IfcGeometricSetSelect[]);
    }
    class IfcGridPlacement extends IfcObjectPlacement {
        PlacementLocation: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection);
        PlacementRefDirection: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection) | null;
        type: number;
        constructor(PlacementLocation: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection), PlacementRefDirection: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection) | null);
    }
    class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: boolean;
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: boolean);
    }
    class IfcHygroscopicMaterialProperties extends IfcMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        UpperVaporResistanceFactor: IfcPositiveRatioMeasure | null;
        LowerVaporResistanceFactor: IfcPositiveRatioMeasure | null;
        IsothermalMoistureCapacity: IfcIsothermalMoistureCapacityMeasure | null;
        VaporPermeability: IfcVaporPermeabilityMeasure | null;
        MoistureDiffusivity: IfcMoistureDiffusivityMeasure | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), UpperVaporResistanceFactor: IfcPositiveRatioMeasure | null, LowerVaporResistanceFactor: IfcPositiveRatioMeasure | null, IsothermalMoistureCapacity: IfcIsothermalMoistureCapacityMeasure | null, VaporPermeability: IfcVaporPermeabilityMeasure | null, MoistureDiffusivity: IfcMoistureDiffusivityMeasure | null);
    }
    class IfcImageTexture extends IfcSurfaceTexture {
        RepeatS: boolean;
        RepeatT: boolean;
        TextureType: IfcSurfaceTextureEnum;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        UrlReference: IfcIdentifier;
        type: number;
        constructor(RepeatS: boolean, RepeatT: boolean, TextureType: IfcSurfaceTextureEnum, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, UrlReference: IfcIdentifier);
    }
    class IfcIrregularTimeSeries extends IfcTimeSeries {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTimeSelect;
        EndTime: IfcDateTimeSelect;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        Values: (Handle<IfcIrregularTimeSeriesValue> | IfcIrregularTimeSeriesValue)[];
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTimeSelect, EndTime: IfcDateTimeSelect, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null, Values: (Handle<IfcIrregularTimeSeriesValue> | IfcIrregularTimeSeriesValue)[]);
    }
    class IfcLightSource extends IfcGeometricRepresentationItem {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null);
    }
    class IfcLightSourceAmbient extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null);
    }
    class IfcLightSourceDirectional extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Orientation: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Orientation: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcLightSourceGoniometric extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        ColourAppearance: (Handle<IfcColourRgb> | IfcColourRgb) | null;
        ColourTemperature: IfcThermodynamicTemperatureMeasure;
        LuminousFlux: IfcLuminousFluxMeasure;
        LightEmissionSource: IfcLightEmissionSourceEnum;
        LightDistributionDataSource: IfcLightDistributionDataSourceSelect;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), ColourAppearance: (Handle<IfcColourRgb> | IfcColourRgb) | null, ColourTemperature: IfcThermodynamicTemperatureMeasure, LuminousFlux: IfcLuminousFluxMeasure, LightEmissionSource: IfcLightEmissionSourceEnum, LightDistributionDataSource: IfcLightDistributionDataSourceSelect);
    }
    class IfcLightSourcePositional extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Radius: IfcPositiveLengthMeasure;
        ConstantAttenuation: IfcReal;
        DistanceAttenuation: IfcReal;
        QuadricAttenuation: IfcReal;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Radius: IfcPositiveLengthMeasure, ConstantAttenuation: IfcReal, DistanceAttenuation: IfcReal, QuadricAttenuation: IfcReal);
    }
    class IfcLightSourceSpot extends IfcLightSourcePositional {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Radius: IfcPositiveLengthMeasure;
        ConstantAttenuation: IfcReal;
        DistanceAttenuation: IfcReal;
        QuadricAttenuation: IfcReal;
        Orientation: (Handle<IfcDirection> | IfcDirection);
        ConcentrationExponent: IfcReal | null;
        SpreadAngle: IfcPositivePlaneAngleMeasure;
        BeamWidthAngle: IfcPositivePlaneAngleMeasure;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Radius: IfcPositiveLengthMeasure, ConstantAttenuation: IfcReal, DistanceAttenuation: IfcReal, QuadricAttenuation: IfcReal, Orientation: (Handle<IfcDirection> | IfcDirection), ConcentrationExponent: IfcReal | null, SpreadAngle: IfcPositivePlaneAngleMeasure, BeamWidthAngle: IfcPositivePlaneAngleMeasure);
    }
    class IfcLocalPlacement extends IfcObjectPlacement {
        PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        RelativePlacement: IfcAxis2Placement;
        type: number;
        constructor(PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, RelativePlacement: IfcAxis2Placement);
    }
    class IfcLoop extends IfcTopologicalRepresentationItem {
        type: number;
        constructor();
    }
    class IfcMappedItem extends IfcRepresentationItem {
        MappingSource: (Handle<IfcRepresentationMap> | IfcRepresentationMap);
        MappingTarget: (Handle<IfcCartesianTransformationOperator> | IfcCartesianTransformationOperator);
        type: number;
        constructor(MappingSource: (Handle<IfcRepresentationMap> | IfcRepresentationMap), MappingTarget: (Handle<IfcCartesianTransformationOperator> | IfcCartesianTransformationOperator));
    }
    class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        RepresentedMaterial: (Handle<IfcMaterial> | IfcMaterial);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[], RepresentedMaterial: (Handle<IfcMaterial> | IfcMaterial));
    }
    class IfcMechanicalConcreteMaterialProperties extends IfcMechanicalMaterialProperties {
        Material: (Handle<IfcMaterial> | IfcMaterial);
        DynamicViscosity: IfcDynamicViscosityMeasure | null;
        YoungModulus: IfcModulusOfElasticityMeasure | null;
        ShearModulus: IfcModulusOfElasticityMeasure | null;
        PoissonRatio: IfcPositiveRatioMeasure | null;
        ThermalExpansionCoefficient: IfcThermalExpansionCoefficientMeasure | null;
        CompressiveStrength: IfcPressureMeasure | null;
        MaxAggregateSize: IfcPositiveLengthMeasure | null;
        AdmixturesDescription: IfcText | null;
        Workability: IfcText | null;
        ProtectivePoreRatio: IfcNormalisedRatioMeasure | null;
        WaterImpermeability: IfcText | null;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial), DynamicViscosity: IfcDynamicViscosityMeasure | null, YoungModulus: IfcModulusOfElasticityMeasure | null, ShearModulus: IfcModulusOfElasticityMeasure | null, PoissonRatio: IfcPositiveRatioMeasure | null, ThermalExpansionCoefficient: IfcThermalExpansionCoefficientMeasure | null, CompressiveStrength: IfcPressureMeasure | null, MaxAggregateSize: IfcPositiveLengthMeasure | null, AdmixturesDescription: IfcText | null, Workability: IfcText | null, ProtectivePoreRatio: IfcNormalisedRatioMeasure | null, WaterImpermeability: IfcText | null);
    }
    class IfcObjectDefinition extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasAssignments: (Handle<IfcRelAssigns> | IfcRelAssigns)[] | null;
        IsDecomposedBy: (Handle<IfcRelDecomposes> | IfcRelDecomposes)[] | null;
        Decomposes: (Handle<IfcRelDecomposes> | IfcRelDecomposes)[] | null;
        HasAssociations: (Handle<IfcRelAssociates> | IfcRelAssociates)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcOneDirectionRepeatFactor extends IfcGeometricRepresentationItem {
        RepeatFactor: (Handle<IfcVector> | IfcVector);
        type: number;
        constructor(RepeatFactor: (Handle<IfcVector> | IfcVector));
    }
    class IfcOpenShell extends IfcConnectedFaceSet {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcOrientedEdge extends IfcEdge {
        EdgeElement: (Handle<IfcEdge> | IfcEdge);
        Orientation: boolean;
        type: number;
        constructor(EdgeElement: (Handle<IfcEdge> | IfcEdge), Orientation: boolean);
    }
    class IfcParameterizedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D));
    }
    class IfcPath extends IfcTopologicalRepresentationItem {
        EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[];
        type: number;
        constructor(EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[]);
    }
    class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        HasQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[];
        Discrimination: IfcLabel;
        Quality: IfcLabel | null;
        Usage: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, HasQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[], Discrimination: IfcLabel, Quality: IfcLabel | null, Usage: IfcLabel | null);
    }
    class IfcPixelTexture extends IfcSurfaceTexture {
        RepeatS: boolean;
        RepeatT: boolean;
        TextureType: IfcSurfaceTextureEnum;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Width: IfcInteger;
        Height: IfcInteger;
        ColourComponents: IfcInteger;
        Pixel: number[];
        type: number;
        constructor(RepeatS: boolean, RepeatT: boolean, TextureType: IfcSurfaceTextureEnum, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Width: IfcInteger, Height: IfcInteger, ColourComponents: IfcInteger, Pixel: number[]);
    }
    class IfcPlacement extends IfcGeometricRepresentationItem {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint));
    }
    class IfcPlanarExtent extends IfcGeometricRepresentationItem {
        SizeInX: IfcLengthMeasure;
        SizeInY: IfcLengthMeasure;
        type: number;
        constructor(SizeInX: IfcLengthMeasure, SizeInY: IfcLengthMeasure);
    }
    class IfcPoint extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcPointOnCurve extends IfcPoint {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        PointParameter: IfcParameterValue;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), PointParameter: IfcParameterValue);
    }
    class IfcPointOnSurface extends IfcPoint {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        PointParameterU: IfcParameterValue;
        PointParameterV: IfcParameterValue;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), PointParameterU: IfcParameterValue, PointParameterV: IfcParameterValue);
    }
    class IfcPolyLoop extends IfcLoop {
        Polygon: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        type: number;
        constructor(Polygon: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[]);
    }
    class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: boolean;
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        PolygonalBoundary: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: boolean, Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), PolygonalBoundary: (Handle<IfcBoundedCurve> | IfcBoundedCurve));
    }
    class IfcPreDefinedColour extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedCurveFont extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedDimensionSymbol extends IfcPreDefinedSymbol {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedPointMarkerSymbol extends IfcPreDefinedSymbol {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcProductDefinitionShape extends IfcProductRepresentation {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        type: number;
        ShapeOfProduct: (Handle<IfcProduct> | IfcProduct)[] | null;
        HasShapeAspects: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[]);
    }
    class IfcPropertyBoundedValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        UpperBoundValue: IfcValue | null;
        LowerBoundValue: IfcValue | null;
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, UpperBoundValue: IfcValue | null, LowerBoundValue: IfcValue | null, Unit: IfcUnit | null);
    }
    class IfcPropertyDefinition extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasAssociations: (Handle<IfcRelAssociates> | IfcRelAssociates)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcPropertyEnumeratedValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        EnumerationValues: IfcValue[];
        EnumerationReference: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, EnumerationValues: IfcValue[], EnumerationReference: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null);
    }
    class IfcPropertyListValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        ListValues: IfcValue[];
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, ListValues: IfcValue[], Unit: IfcUnit | null);
    }
    class IfcPropertyReferenceValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        UsageName: IfcLabel | null;
        PropertyReference: IfcObjectReferenceSelect;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, UsageName: IfcLabel | null, PropertyReference: IfcObjectReferenceSelect);
    }
    class IfcPropertySetDefinition extends IfcPropertyDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        PropertyDefinitionOf: (Handle<IfcRelDefinesByProperties> | IfcRelDefinesByProperties)[] | null;
        DefinesType: (Handle<IfcTypeObject> | IfcTypeObject)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcPropertySingleValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        NominalValue: IfcValue | null;
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, NominalValue: IfcValue | null, Unit: IfcUnit | null);
    }
    class IfcPropertyTableValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        DefiningValues: IfcValue[];
        DefinedValues: IfcValue[];
        Expression: IfcText | null;
        DefiningUnit: IfcUnit | null;
        DefinedUnit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, DefiningValues: IfcValue[], DefinedValues: IfcValue[], Expression: IfcText | null, DefiningUnit: IfcUnit | null, DefinedUnit: IfcUnit | null);
    }
    class IfcRectangleProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure);
    }
    class IfcRegularTimeSeries extends IfcTimeSeries {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTimeSelect;
        EndTime: IfcDateTimeSelect;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        TimeStep: IfcTimeMeasure;
        Values: (Handle<IfcTimeSeriesValue> | IfcTimeSeriesValue)[];
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTimeSelect, EndTime: IfcDateTimeSelect, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null, TimeStep: IfcTimeMeasure, Values: (Handle<IfcTimeSeriesValue> | IfcTimeSeriesValue)[]);
    }
    class IfcReinforcementDefinitionProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        DefinitionType: IfcLabel | null;
        ReinforcementSectionDefinitions: (Handle<IfcSectionReinforcementProperties> | IfcSectionReinforcementProperties)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, DefinitionType: IfcLabel | null, ReinforcementSectionDefinitions: (Handle<IfcSectionReinforcementProperties> | IfcSectionReinforcementProperties)[]);
    }
    class IfcRelationship extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        RoundingRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, RoundingRadius: IfcPositiveLengthMeasure);
    }
    class IfcSectionedSpine extends IfcGeometricRepresentationItem {
        SpineCurve: (Handle<IfcCompositeCurve> | IfcCompositeCurve);
        CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[];
        CrossSectionPositions: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D)[];
        type: number;
        constructor(SpineCurve: (Handle<IfcCompositeCurve> | IfcCompositeCurve), CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[], CrossSectionPositions: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D)[]);
    }
    class IfcServiceLifeFactor extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        PredefinedType: IfcServiceLifeFactorTypeEnum;
        UpperValue: IfcMeasureValue | null;
        MostUsedValue: IfcMeasureValue;
        LowerValue: IfcMeasureValue | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, PredefinedType: IfcServiceLifeFactorTypeEnum, UpperValue: IfcMeasureValue | null, MostUsedValue: IfcMeasureValue, LowerValue: IfcMeasureValue | null);
    }
    class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem {
        SbsmBoundary: IfcShell[];
        type: number;
        constructor(SbsmBoundary: IfcShell[]);
    }
    class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition {
        Name: IfcLabel | null;
        SlippageX: IfcLengthMeasure | null;
        SlippageY: IfcLengthMeasure | null;
        SlippageZ: IfcLengthMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, SlippageX: IfcLengthMeasure | null, SlippageY: IfcLengthMeasure | null, SlippageZ: IfcLengthMeasure | null);
    }
    class IfcSolidModel extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcSoundProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        IsAttenuating: IfcBoolean;
        SoundScale: IfcSoundScaleEnum | null;
        SoundValues: (Handle<IfcSoundValue> | IfcSoundValue)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, IsAttenuating: IfcBoolean, SoundScale: IfcSoundScaleEnum | null, SoundValues: (Handle<IfcSoundValue> | IfcSoundValue)[]);
    }
    class IfcSoundValue extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        SoundLevelTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        Frequency: IfcFrequencyMeasure;
        SoundLevelSingleValue: IfcDerivedMeasureValue | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, SoundLevelTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, Frequency: IfcFrequencyMeasure, SoundLevelSingleValue: IfcDerivedMeasureValue | null);
    }
    class IfcSpaceThermalLoadProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableValueRatio: IfcPositiveRatioMeasure | null;
        ThermalLoadSource: IfcThermalLoadSourceEnum;
        PropertySource: IfcPropertySourceEnum;
        SourceDescription: IfcText | null;
        MaximumValue: IfcPowerMeasure;
        MinimumValue: IfcPowerMeasure | null;
        ThermalLoadTimeSeriesValues: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        UserDefinedThermalLoadSource: IfcLabel | null;
        UserDefinedPropertySource: IfcLabel | null;
        ThermalLoadType: IfcThermalLoadTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableValueRatio: IfcPositiveRatioMeasure | null, ThermalLoadSource: IfcThermalLoadSourceEnum, PropertySource: IfcPropertySourceEnum, SourceDescription: IfcText | null, MaximumValue: IfcPowerMeasure, MinimumValue: IfcPowerMeasure | null, ThermalLoadTimeSeriesValues: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, UserDefinedThermalLoadSource: IfcLabel | null, UserDefinedPropertySource: IfcLabel | null, ThermalLoadType: IfcThermalLoadTypeEnum);
    }
    class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        LinearForceX: IfcLinearForceMeasure | null;
        LinearForceY: IfcLinearForceMeasure | null;
        LinearForceZ: IfcLinearForceMeasure | null;
        LinearMomentX: IfcLinearMomentMeasure | null;
        LinearMomentY: IfcLinearMomentMeasure | null;
        LinearMomentZ: IfcLinearMomentMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LinearForceX: IfcLinearForceMeasure | null, LinearForceY: IfcLinearForceMeasure | null, LinearForceZ: IfcLinearForceMeasure | null, LinearMomentX: IfcLinearMomentMeasure | null, LinearMomentY: IfcLinearMomentMeasure | null, LinearMomentZ: IfcLinearMomentMeasure | null);
    }
    class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        PlanarForceX: IfcPlanarForceMeasure | null;
        PlanarForceY: IfcPlanarForceMeasure | null;
        PlanarForceZ: IfcPlanarForceMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, PlanarForceX: IfcPlanarForceMeasure | null, PlanarForceY: IfcPlanarForceMeasure | null, PlanarForceZ: IfcPlanarForceMeasure | null);
    }
    class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        DisplacementX: IfcLengthMeasure | null;
        DisplacementY: IfcLengthMeasure | null;
        DisplacementZ: IfcLengthMeasure | null;
        RotationalDisplacementRX: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRY: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRZ: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DisplacementX: IfcLengthMeasure | null, DisplacementY: IfcLengthMeasure | null, DisplacementZ: IfcLengthMeasure | null, RotationalDisplacementRX: IfcPlaneAngleMeasure | null, RotationalDisplacementRY: IfcPlaneAngleMeasure | null, RotationalDisplacementRZ: IfcPlaneAngleMeasure | null);
    }
    class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement {
        Name: IfcLabel | null;
        DisplacementX: IfcLengthMeasure | null;
        DisplacementY: IfcLengthMeasure | null;
        DisplacementZ: IfcLengthMeasure | null;
        RotationalDisplacementRX: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRY: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRZ: IfcPlaneAngleMeasure | null;
        Distortion: IfcCurvatureMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DisplacementX: IfcLengthMeasure | null, DisplacementY: IfcLengthMeasure | null, DisplacementZ: IfcLengthMeasure | null, RotationalDisplacementRX: IfcPlaneAngleMeasure | null, RotationalDisplacementRY: IfcPlaneAngleMeasure | null, RotationalDisplacementRZ: IfcPlaneAngleMeasure | null, Distortion: IfcCurvatureMeasure | null);
    }
    class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        ForceX: IfcForceMeasure | null;
        ForceY: IfcForceMeasure | null;
        ForceZ: IfcForceMeasure | null;
        MomentX: IfcTorqueMeasure | null;
        MomentY: IfcTorqueMeasure | null;
        MomentZ: IfcTorqueMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, ForceX: IfcForceMeasure | null, ForceY: IfcForceMeasure | null, ForceZ: IfcForceMeasure | null, MomentX: IfcTorqueMeasure | null, MomentY: IfcTorqueMeasure | null, MomentZ: IfcTorqueMeasure | null);
    }
    class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce {
        Name: IfcLabel | null;
        ForceX: IfcForceMeasure | null;
        ForceY: IfcForceMeasure | null;
        ForceZ: IfcForceMeasure | null;
        MomentX: IfcTorqueMeasure | null;
        MomentY: IfcTorqueMeasure | null;
        MomentZ: IfcTorqueMeasure | null;
        WarpingMoment: IfcWarpingMomentMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, ForceX: IfcForceMeasure | null, ForceY: IfcForceMeasure | null, ForceZ: IfcForceMeasure | null, MomentX: IfcTorqueMeasure | null, MomentY: IfcTorqueMeasure | null, MomentZ: IfcTorqueMeasure | null, WarpingMoment: IfcWarpingMomentMeasure | null);
    }
    class IfcStructuralProfileProperties extends IfcGeneralProfileProperties {
        ProfileName: IfcLabel | null;
        ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        PhysicalWeight: IfcMassPerLengthMeasure | null;
        Perimeter: IfcPositiveLengthMeasure | null;
        MinimumPlateThickness: IfcPositiveLengthMeasure | null;
        MaximumPlateThickness: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        TorsionalConstantX: IfcMomentOfInertiaMeasure | null;
        MomentOfInertiaYZ: IfcMomentOfInertiaMeasure | null;
        MomentOfInertiaY: IfcMomentOfInertiaMeasure | null;
        MomentOfInertiaZ: IfcMomentOfInertiaMeasure | null;
        WarpingConstant: IfcWarpingConstantMeasure | null;
        ShearCentreZ: IfcLengthMeasure | null;
        ShearCentreY: IfcLengthMeasure | null;
        ShearDeformationAreaZ: IfcAreaMeasure | null;
        ShearDeformationAreaY: IfcAreaMeasure | null;
        MaximumSectionModulusY: IfcSectionModulusMeasure | null;
        MinimumSectionModulusY: IfcSectionModulusMeasure | null;
        MaximumSectionModulusZ: IfcSectionModulusMeasure | null;
        MinimumSectionModulusZ: IfcSectionModulusMeasure | null;
        TorsionalSectionModulus: IfcSectionModulusMeasure | null;
        CentreOfGravityInX: IfcLengthMeasure | null;
        CentreOfGravityInY: IfcLengthMeasure | null;
        type: number;
        constructor(ProfileName: IfcLabel | null, ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null, PhysicalWeight: IfcMassPerLengthMeasure | null, Perimeter: IfcPositiveLengthMeasure | null, MinimumPlateThickness: IfcPositiveLengthMeasure | null, MaximumPlateThickness: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, TorsionalConstantX: IfcMomentOfInertiaMeasure | null, MomentOfInertiaYZ: IfcMomentOfInertiaMeasure | null, MomentOfInertiaY: IfcMomentOfInertiaMeasure | null, MomentOfInertiaZ: IfcMomentOfInertiaMeasure | null, WarpingConstant: IfcWarpingConstantMeasure | null, ShearCentreZ: IfcLengthMeasure | null, ShearCentreY: IfcLengthMeasure | null, ShearDeformationAreaZ: IfcAreaMeasure | null, ShearDeformationAreaY: IfcAreaMeasure | null, MaximumSectionModulusY: IfcSectionModulusMeasure | null, MinimumSectionModulusY: IfcSectionModulusMeasure | null, MaximumSectionModulusZ: IfcSectionModulusMeasure | null, MinimumSectionModulusZ: IfcSectionModulusMeasure | null, TorsionalSectionModulus: IfcSectionModulusMeasure | null, CentreOfGravityInX: IfcLengthMeasure | null, CentreOfGravityInY: IfcLengthMeasure | null);
    }
    class IfcStructuralSteelProfileProperties extends IfcStructuralProfileProperties {
        ProfileName: IfcLabel | null;
        ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        PhysicalWeight: IfcMassPerLengthMeasure | null;
        Perimeter: IfcPositiveLengthMeasure | null;
        MinimumPlateThickness: IfcPositiveLengthMeasure | null;
        MaximumPlateThickness: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        TorsionalConstantX: IfcMomentOfInertiaMeasure | null;
        MomentOfInertiaYZ: IfcMomentOfInertiaMeasure | null;
        MomentOfInertiaY: IfcMomentOfInertiaMeasure | null;
        MomentOfInertiaZ: IfcMomentOfInertiaMeasure | null;
        WarpingConstant: IfcWarpingConstantMeasure | null;
        ShearCentreZ: IfcLengthMeasure | null;
        ShearCentreY: IfcLengthMeasure | null;
        ShearDeformationAreaZ: IfcAreaMeasure | null;
        ShearDeformationAreaY: IfcAreaMeasure | null;
        MaximumSectionModulusY: IfcSectionModulusMeasure | null;
        MinimumSectionModulusY: IfcSectionModulusMeasure | null;
        MaximumSectionModulusZ: IfcSectionModulusMeasure | null;
        MinimumSectionModulusZ: IfcSectionModulusMeasure | null;
        TorsionalSectionModulus: IfcSectionModulusMeasure | null;
        CentreOfGravityInX: IfcLengthMeasure | null;
        CentreOfGravityInY: IfcLengthMeasure | null;
        ShearAreaZ: IfcAreaMeasure | null;
        ShearAreaY: IfcAreaMeasure | null;
        PlasticShapeFactorY: IfcPositiveRatioMeasure | null;
        PlasticShapeFactorZ: IfcPositiveRatioMeasure | null;
        type: number;
        constructor(ProfileName: IfcLabel | null, ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef) | null, PhysicalWeight: IfcMassPerLengthMeasure | null, Perimeter: IfcPositiveLengthMeasure | null, MinimumPlateThickness: IfcPositiveLengthMeasure | null, MaximumPlateThickness: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, TorsionalConstantX: IfcMomentOfInertiaMeasure | null, MomentOfInertiaYZ: IfcMomentOfInertiaMeasure | null, MomentOfInertiaY: IfcMomentOfInertiaMeasure | null, MomentOfInertiaZ: IfcMomentOfInertiaMeasure | null, WarpingConstant: IfcWarpingConstantMeasure | null, ShearCentreZ: IfcLengthMeasure | null, ShearCentreY: IfcLengthMeasure | null, ShearDeformationAreaZ: IfcAreaMeasure | null, ShearDeformationAreaY: IfcAreaMeasure | null, MaximumSectionModulusY: IfcSectionModulusMeasure | null, MinimumSectionModulusY: IfcSectionModulusMeasure | null, MaximumSectionModulusZ: IfcSectionModulusMeasure | null, MinimumSectionModulusZ: IfcSectionModulusMeasure | null, TorsionalSectionModulus: IfcSectionModulusMeasure | null, CentreOfGravityInX: IfcLengthMeasure | null, CentreOfGravityInY: IfcLengthMeasure | null, ShearAreaZ: IfcAreaMeasure | null, ShearAreaY: IfcAreaMeasure | null, PlasticShapeFactorY: IfcPositiveRatioMeasure | null, PlasticShapeFactorZ: IfcPositiveRatioMeasure | null);
    }
    class IfcSubedge extends IfcEdge {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        ParentEdge: (Handle<IfcEdge> | IfcEdge);
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex), ParentEdge: (Handle<IfcEdge> | IfcEdge));
    }
    class IfcSurface extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading {
        SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        Transparency: IfcNormalisedRatioMeasure | null;
        DiffuseColour: IfcColourOrFactor | null;
        TransmissionColour: IfcColourOrFactor | null;
        DiffuseTransmissionColour: IfcColourOrFactor | null;
        ReflectionColour: IfcColourOrFactor | null;
        SpecularColour: IfcColourOrFactor | null;
        SpecularHighlight: IfcSpecularHighlightSelect | null;
        ReflectanceMethod: IfcReflectanceMethodEnum;
        type: number;
        constructor(SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb), Transparency: IfcNormalisedRatioMeasure | null, DiffuseColour: IfcColourOrFactor | null, TransmissionColour: IfcColourOrFactor | null, DiffuseTransmissionColour: IfcColourOrFactor | null, ReflectionColour: IfcColourOrFactor | null, SpecularColour: IfcColourOrFactor | null, SpecularHighlight: IfcSpecularHighlightSelect | null, ReflectanceMethod: IfcReflectanceMethodEnum);
    }
    class IfcSweptAreaSolid extends IfcSolidModel {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcSweptDiskSolid extends IfcSolidModel {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        Radius: IfcPositiveLengthMeasure;
        InnerRadius: IfcPositiveLengthMeasure | null;
        StartParam: IfcParameterValue;
        EndParam: IfcParameterValue;
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), Radius: IfcPositiveLengthMeasure, InnerRadius: IfcPositiveLengthMeasure | null, StartParam: IfcParameterValue, EndParam: IfcParameterValue);
    }
    class IfcSweptSurface extends IfcSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcTShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcPositiveLengthMeasure | null;
        FlangeEdgeRadius: IfcPositiveLengthMeasure | null;
        WebEdgeRadius: IfcPositiveLengthMeasure | null;
        WebSlope: IfcPlaneAngleMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        CentreOfGravityInY: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcPositiveLengthMeasure | null, FlangeEdgeRadius: IfcPositiveLengthMeasure | null, WebEdgeRadius: IfcPositiveLengthMeasure | null, WebSlope: IfcPlaneAngleMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null, CentreOfGravityInY: IfcPositiveLengthMeasure | null);
    }
    class IfcTerminatorSymbol extends IfcAnnotationSymbolOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        AnnotatedCurve: (Handle<IfcAnnotationCurveOccurrence> | IfcAnnotationCurveOccurrence);
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null, AnnotatedCurve: (Handle<IfcAnnotationCurveOccurrence> | IfcAnnotationCurveOccurrence));
    }
    class IfcTextLiteral extends IfcGeometricRepresentationItem {
        Literal: IfcPresentableText;
        Placement: IfcAxis2Placement;
        Path: IfcTextPath;
        type: number;
        constructor(Literal: IfcPresentableText, Placement: IfcAxis2Placement, Path: IfcTextPath);
    }
    class IfcTextLiteralWithExtent extends IfcTextLiteral {
        Literal: IfcPresentableText;
        Placement: IfcAxis2Placement;
        Path: IfcTextPath;
        Extent: (Handle<IfcPlanarExtent> | IfcPlanarExtent);
        BoxAlignment: IfcBoxAlignment;
        type: number;
        constructor(Literal: IfcPresentableText, Placement: IfcAxis2Placement, Path: IfcTextPath, Extent: (Handle<IfcPlanarExtent> | IfcPlanarExtent), BoxAlignment: IfcBoxAlignment);
    }
    class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        BottomXDim: IfcPositiveLengthMeasure;
        TopXDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        TopXOffset: IfcLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), BottomXDim: IfcPositiveLengthMeasure, TopXDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, TopXOffset: IfcLengthMeasure);
    }
    class IfcTwoDirectionRepeatFactor extends IfcOneDirectionRepeatFactor {
        RepeatFactor: (Handle<IfcVector> | IfcVector);
        SecondRepeatFactor: (Handle<IfcVector> | IfcVector);
        type: number;
        constructor(RepeatFactor: (Handle<IfcVector> | IfcVector), SecondRepeatFactor: (Handle<IfcVector> | IfcVector));
    }
    class IfcTypeObject extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        type: number;
        ObjectTypeOf: (Handle<IfcRelDefinesByType> | IfcRelDefinesByType)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null);
    }
    class IfcTypeProduct extends IfcTypeObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null);
    }
    class IfcUShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcPositiveLengthMeasure | null;
        EdgeRadius: IfcPositiveLengthMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        CentreOfGravityInX: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcPositiveLengthMeasure | null, EdgeRadius: IfcPositiveLengthMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null, CentreOfGravityInX: IfcPositiveLengthMeasure | null);
    }
    class IfcVector extends IfcGeometricRepresentationItem {
        Orientation: (Handle<IfcDirection> | IfcDirection);
        Magnitude: IfcLengthMeasure;
        type: number;
        constructor(Orientation: (Handle<IfcDirection> | IfcDirection), Magnitude: IfcLengthMeasure);
    }
    class IfcVertexLoop extends IfcLoop {
        LoopVertex: (Handle<IfcVertex> | IfcVertex);
        type: number;
        constructor(LoopVertex: (Handle<IfcVertex> | IfcVertex));
    }
    class IfcWindowLiningProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        LiningDepth: IfcPositiveLengthMeasure | null;
        LiningThickness: IfcPositiveLengthMeasure | null;
        TransomThickness: IfcPositiveLengthMeasure | null;
        MullionThickness: IfcPositiveLengthMeasure | null;
        FirstTransomOffset: IfcNormalisedRatioMeasure | null;
        SecondTransomOffset: IfcNormalisedRatioMeasure | null;
        FirstMullionOffset: IfcNormalisedRatioMeasure | null;
        SecondMullionOffset: IfcNormalisedRatioMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, LiningDepth: IfcPositiveLengthMeasure | null, LiningThickness: IfcPositiveLengthMeasure | null, TransomThickness: IfcPositiveLengthMeasure | null, MullionThickness: IfcPositiveLengthMeasure | null, FirstTransomOffset: IfcNormalisedRatioMeasure | null, SecondTransomOffset: IfcNormalisedRatioMeasure | null, FirstMullionOffset: IfcNormalisedRatioMeasure | null, SecondMullionOffset: IfcNormalisedRatioMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcWindowPanelProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        OperationType: IfcWindowPanelOperationEnum;
        PanelPosition: IfcWindowPanelPositionEnum;
        FrameDepth: IfcPositiveLengthMeasure | null;
        FrameThickness: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, OperationType: IfcWindowPanelOperationEnum, PanelPosition: IfcWindowPanelPositionEnum, FrameDepth: IfcPositiveLengthMeasure | null, FrameThickness: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcWindowStyle extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ConstructionType: IfcWindowStyleConstructionEnum;
        OperationType: IfcWindowStyleOperationEnum;
        ParameterTakesPrecedence: boolean;
        Sizeable: boolean;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ConstructionType: IfcWindowStyleConstructionEnum, OperationType: IfcWindowStyleOperationEnum, ParameterTakesPrecedence: boolean, Sizeable: boolean);
    }
    class IfcZShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcPositiveLengthMeasure | null;
        EdgeRadius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcPositiveLengthMeasure | null, EdgeRadius: IfcPositiveLengthMeasure | null);
    }
    class IfcAnnotationCurveOccurrence extends IfcAnnotationOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcAnnotationFillArea extends IfcGeometricRepresentationItem {
        OuterBoundary: (Handle<IfcCurve> | IfcCurve);
        InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null;
        type: number;
        constructor(OuterBoundary: (Handle<IfcCurve> | IfcCurve), InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null);
    }
    class IfcAnnotationFillAreaOccurrence extends IfcAnnotationOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        FillStyleTarget: (Handle<IfcPoint> | IfcPoint) | null;
        GlobalOrLocal: IfcGlobalOrLocalEnum | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null, FillStyleTarget: (Handle<IfcPoint> | IfcPoint) | null, GlobalOrLocal: IfcGlobalOrLocalEnum | null);
    }
    class IfcAnnotationSurface extends IfcGeometricRepresentationItem {
        Item: (Handle<IfcGeometricRepresentationItem> | IfcGeometricRepresentationItem);
        TextureCoordinates: (Handle<IfcTextureCoordinate> | IfcTextureCoordinate) | null;
        type: number;
        constructor(Item: (Handle<IfcGeometricRepresentationItem> | IfcGeometricRepresentationItem), TextureCoordinates: (Handle<IfcTextureCoordinate> | IfcTextureCoordinate) | null);
    }
    class IfcAxis1Placement extends IfcPlacement {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Axis: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Axis: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcAxis2Placement2D extends IfcPlacement {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        RefDirection: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint), RefDirection: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcAxis2Placement3D extends IfcPlacement {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Axis: (Handle<IfcDirection> | IfcDirection) | null;
        RefDirection: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Axis: (Handle<IfcDirection> | IfcDirection) | null, RefDirection: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcBooleanResult extends IfcGeometricRepresentationItem {
        Operator: IfcBooleanOperator;
        FirstOperand: IfcBooleanOperand;
        SecondOperand: IfcBooleanOperand;
        type: number;
        constructor(Operator: IfcBooleanOperator, FirstOperand: IfcBooleanOperand, SecondOperand: IfcBooleanOperand);
    }
    class IfcBoundedSurface extends IfcSurface {
        type: number;
        constructor();
    }
    class IfcBoundingBox extends IfcGeometricRepresentationItem {
        Corner: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        ZDim: IfcPositiveLengthMeasure;
        type: number;
        constructor(Corner: (Handle<IfcCartesianPoint> | IfcCartesianPoint), XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, ZDim: IfcPositiveLengthMeasure);
    }
    class IfcBoxedHalfSpace extends IfcHalfSpaceSolid {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: boolean;
        Enclosure: (Handle<IfcBoundingBox> | IfcBoundingBox);
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: boolean, Enclosure: (Handle<IfcBoundingBox> | IfcBoundingBox));
    }
    class IfcCShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        Depth: IfcPositiveLengthMeasure;
        Width: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        Girth: IfcPositiveLengthMeasure;
        InternalFilletRadius: IfcPositiveLengthMeasure | null;
        CentreOfGravityInX: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), Depth: IfcPositiveLengthMeasure, Width: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure, Girth: IfcPositiveLengthMeasure, InternalFilletRadius: IfcPositiveLengthMeasure | null, CentreOfGravityInX: IfcPositiveLengthMeasure | null);
    }
    class IfcCartesianPoint extends IfcPoint {
        Coordinates: IfcLengthMeasure[];
        type: number;
        constructor(Coordinates: IfcLengthMeasure[]);
    }
    class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: number | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: number | null);
    }
    class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: number | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: number | null);
    }
    class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: number | null;
        Scale2: number | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: number | null, Scale2: number | null);
    }
    class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: number | null;
        Axis3: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: number | null, Axis3: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: number | null;
        Axis3: (Handle<IfcDirection> | IfcDirection) | null;
        Scale2: number | null;
        Scale3: number | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: number | null, Axis3: (Handle<IfcDirection> | IfcDirection) | null, Scale2: number | null, Scale3: number | null);
    }
    class IfcCircleProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcClosedShell extends IfcConnectedFaceSet {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem {
        Transition: IfcTransitionCode;
        SameSense: boolean;
        ParentCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        UsingCurves: (Handle<IfcCompositeCurve> | IfcCompositeCurve)[] | null;
        constructor(Transition: IfcTransitionCode, SameSense: boolean, ParentCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcCraneRailAShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        OverallHeight: IfcPositiveLengthMeasure;
        BaseWidth2: IfcPositiveLengthMeasure;
        Radius: IfcPositiveLengthMeasure | null;
        HeadWidth: IfcPositiveLengthMeasure;
        HeadDepth2: IfcPositiveLengthMeasure;
        HeadDepth3: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        BaseWidth4: IfcPositiveLengthMeasure;
        BaseDepth1: IfcPositiveLengthMeasure;
        BaseDepth2: IfcPositiveLengthMeasure;
        BaseDepth3: IfcPositiveLengthMeasure;
        CentreOfGravityInY: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), OverallHeight: IfcPositiveLengthMeasure, BaseWidth2: IfcPositiveLengthMeasure, Radius: IfcPositiveLengthMeasure | null, HeadWidth: IfcPositiveLengthMeasure, HeadDepth2: IfcPositiveLengthMeasure, HeadDepth3: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, BaseWidth4: IfcPositiveLengthMeasure, BaseDepth1: IfcPositiveLengthMeasure, BaseDepth2: IfcPositiveLengthMeasure, BaseDepth3: IfcPositiveLengthMeasure, CentreOfGravityInY: IfcPositiveLengthMeasure | null);
    }
    class IfcCraneRailFShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        OverallHeight: IfcPositiveLengthMeasure;
        HeadWidth: IfcPositiveLengthMeasure;
        Radius: IfcPositiveLengthMeasure | null;
        HeadDepth2: IfcPositiveLengthMeasure;
        HeadDepth3: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        BaseDepth1: IfcPositiveLengthMeasure;
        BaseDepth2: IfcPositiveLengthMeasure;
        CentreOfGravityInY: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), OverallHeight: IfcPositiveLengthMeasure, HeadWidth: IfcPositiveLengthMeasure, Radius: IfcPositiveLengthMeasure | null, HeadDepth2: IfcPositiveLengthMeasure, HeadDepth3: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, BaseDepth1: IfcPositiveLengthMeasure, BaseDepth2: IfcPositiveLengthMeasure, CentreOfGravityInY: IfcPositiveLengthMeasure | null);
    }
    class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcCsgSolid extends IfcSolidModel {
        TreeRootExpression: IfcCsgSelect;
        type: number;
        constructor(TreeRootExpression: IfcCsgSelect);
    }
    class IfcCurve extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcCurveBoundedPlane extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcPlane> | IfcPlane);
        OuterBoundary: (Handle<IfcCurve> | IfcCurve);
        InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null;
        type: number;
        constructor(BasisSurface: (Handle<IfcPlane> | IfcPlane), OuterBoundary: (Handle<IfcCurve> | IfcCurve), InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null);
    }
    class IfcDefinedSymbol extends IfcGeometricRepresentationItem {
        Definition: IfcDefinedSymbolSelect;
        Target: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D);
        type: number;
        constructor(Definition: IfcDefinedSymbolSelect, Target: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D));
    }
    class IfcDimensionCurve extends IfcAnnotationCurveOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        AnnotatedBySymbols: (Handle<IfcTerminatorSymbol> | IfcTerminatorSymbol)[] | null;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcDimensionCurveTerminator extends IfcTerminatorSymbol {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        AnnotatedCurve: (Handle<IfcAnnotationCurveOccurrence> | IfcAnnotationCurveOccurrence);
        Role: IfcDimensionExtentUsage;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null, AnnotatedCurve: (Handle<IfcAnnotationCurveOccurrence> | IfcAnnotationCurveOccurrence), Role: IfcDimensionExtentUsage);
    }
    class IfcDirection extends IfcGeometricRepresentationItem {
        DirectionRatios: number[];
        type: number;
        constructor(DirectionRatios: number[]);
    }
    class IfcDoorLiningProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        LiningDepth: IfcPositiveLengthMeasure | null;
        LiningThickness: IfcPositiveLengthMeasure | null;
        ThresholdDepth: IfcPositiveLengthMeasure | null;
        ThresholdThickness: IfcPositiveLengthMeasure | null;
        TransomThickness: IfcPositiveLengthMeasure | null;
        TransomOffset: IfcLengthMeasure | null;
        LiningOffset: IfcLengthMeasure | null;
        ThresholdOffset: IfcLengthMeasure | null;
        CasingThickness: IfcPositiveLengthMeasure | null;
        CasingDepth: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, LiningDepth: IfcPositiveLengthMeasure | null, LiningThickness: IfcPositiveLengthMeasure | null, ThresholdDepth: IfcPositiveLengthMeasure | null, ThresholdThickness: IfcPositiveLengthMeasure | null, TransomThickness: IfcPositiveLengthMeasure | null, TransomOffset: IfcLengthMeasure | null, LiningOffset: IfcLengthMeasure | null, ThresholdOffset: IfcLengthMeasure | null, CasingThickness: IfcPositiveLengthMeasure | null, CasingDepth: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcDoorPanelProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        PanelDepth: IfcPositiveLengthMeasure | null;
        PanelOperation: IfcDoorPanelOperationEnum;
        PanelWidth: IfcNormalisedRatioMeasure | null;
        PanelPosition: IfcDoorPanelPositionEnum;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, PanelDepth: IfcPositiveLengthMeasure | null, PanelOperation: IfcDoorPanelOperationEnum, PanelWidth: IfcNormalisedRatioMeasure | null, PanelPosition: IfcDoorPanelPositionEnum, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcDoorStyle extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        OperationType: IfcDoorStyleOperationEnum;
        ConstructionType: IfcDoorStyleConstructionEnum;
        ParameterTakesPrecedence: boolean;
        Sizeable: boolean;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, OperationType: IfcDoorStyleOperationEnum, ConstructionType: IfcDoorStyleConstructionEnum, ParameterTakesPrecedence: boolean, Sizeable: boolean);
    }
    class IfcDraughtingCallout extends IfcGeometricRepresentationItem {
        Contents: IfcDraughtingCalloutElement[];
        type: number;
        IsRelatedFromCallout: (Handle<IfcDraughtingCalloutRelationship> | IfcDraughtingCalloutRelationship)[] | null;
        IsRelatedToCallout: (Handle<IfcDraughtingCalloutRelationship> | IfcDraughtingCalloutRelationship)[] | null;
        constructor(Contents: IfcDraughtingCalloutElement[]);
    }
    class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcEdgeLoop extends IfcLoop {
        EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[];
        type: number;
        constructor(EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[]);
    }
    class IfcElementQuantity extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        MethodOfMeasurement: IfcLabel | null;
        Quantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, MethodOfMeasurement: IfcLabel | null, Quantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[]);
    }
    class IfcElementType extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcElementarySurface extends IfcSurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcEllipseProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        SemiAxis1: IfcPositiveLengthMeasure;
        SemiAxis2: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), SemiAxis1: IfcPositiveLengthMeasure, SemiAxis2: IfcPositiveLengthMeasure);
    }
    class IfcEnergyProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        EnergySequence: IfcEnergySequenceEnum | null;
        UserDefinedEnergySequence: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, EnergySequence: IfcEnergySequenceEnum | null, UserDefinedEnergySequence: IfcLabel | null);
    }
    class IfcExtrudedAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcPositiveLengthMeasure;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcPositiveLengthMeasure);
    }
    class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem {
        FbsmFaces: (Handle<IfcConnectedFaceSet> | IfcConnectedFaceSet)[];
        type: number;
        constructor(FbsmFaces: (Handle<IfcConnectedFaceSet> | IfcConnectedFaceSet)[]);
    }
    class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem {
        HatchLineAppearance: (Handle<IfcCurveStyle> | IfcCurveStyle);
        StartOfNextHatchLine: IfcHatchLineDistanceSelect;
        PointOfReferenceHatchLine: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null;
        PatternStart: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null;
        HatchLineAngle: IfcPlaneAngleMeasure;
        type: number;
        constructor(HatchLineAppearance: (Handle<IfcCurveStyle> | IfcCurveStyle), StartOfNextHatchLine: IfcHatchLineDistanceSelect, PointOfReferenceHatchLine: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null, PatternStart: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null, HatchLineAngle: IfcPlaneAngleMeasure);
    }
    class IfcFillAreaStyleTileSymbolWithStyle extends IfcGeometricRepresentationItem {
        Symbol: (Handle<IfcAnnotationSymbolOccurrence> | IfcAnnotationSymbolOccurrence);
        type: number;
        constructor(Symbol: (Handle<IfcAnnotationSymbolOccurrence> | IfcAnnotationSymbolOccurrence));
    }
    class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem {
        TilingPattern: (Handle<IfcOneDirectionRepeatFactor> | IfcOneDirectionRepeatFactor);
        Tiles: IfcFillAreaStyleTileShapeSelect[];
        TilingScale: IfcPositiveRatioMeasure;
        type: number;
        constructor(TilingPattern: (Handle<IfcOneDirectionRepeatFactor> | IfcOneDirectionRepeatFactor), Tiles: IfcFillAreaStyleTileShapeSelect[], TilingScale: IfcPositiveRatioMeasure);
    }
    class IfcFluidFlowProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        PropertySource: IfcPropertySourceEnum;
        FlowConditionTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        VelocityTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        FlowrateTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        Fluid: (Handle<IfcMaterial> | IfcMaterial);
        PressureTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        UserDefinedPropertySource: IfcLabel | null;
        TemperatureSingleValue: IfcThermodynamicTemperatureMeasure | null;
        WetBulbTemperatureSingleValue: IfcThermodynamicTemperatureMeasure | null;
        WetBulbTemperatureTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        TemperatureTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null;
        FlowrateSingleValue: IfcDerivedMeasureValue | null;
        FlowConditionSingleValue: IfcPositiveRatioMeasure | null;
        VelocitySingleValue: IfcLinearVelocityMeasure | null;
        PressureSingleValue: IfcPressureMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, PropertySource: IfcPropertySourceEnum, FlowConditionTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, VelocityTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, FlowrateTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, Fluid: (Handle<IfcMaterial> | IfcMaterial), PressureTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, UserDefinedPropertySource: IfcLabel | null, TemperatureSingleValue: IfcThermodynamicTemperatureMeasure | null, WetBulbTemperatureSingleValue: IfcThermodynamicTemperatureMeasure | null, WetBulbTemperatureTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, TemperatureTimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries) | null, FlowrateSingleValue: IfcDerivedMeasureValue | null, FlowConditionSingleValue: IfcPositiveRatioMeasure | null, VelocitySingleValue: IfcLinearVelocityMeasure | null, PressureSingleValue: IfcPressureMeasure | null);
    }
    class IfcFurnishingElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFurnitureType extends IfcFurnishingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        AssemblyPlace: IfcAssemblyPlaceEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, AssemblyPlace: IfcAssemblyPlaceEnum);
    }
    class IfcGeometricCurveSet extends IfcGeometricSet {
        Elements: IfcGeometricSetSelect[];
        type: number;
        constructor(Elements: IfcGeometricSetSelect[]);
    }
    class IfcIShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        OverallWidth: IfcPositiveLengthMeasure;
        OverallDepth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), OverallWidth: IfcPositiveLengthMeasure, OverallDepth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcPositiveLengthMeasure | null);
    }
    class IfcLShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        Depth: IfcPositiveLengthMeasure;
        Width: IfcPositiveLengthMeasure | null;
        Thickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcPositiveLengthMeasure | null;
        EdgeRadius: IfcPositiveLengthMeasure | null;
        LegSlope: IfcPlaneAngleMeasure | null;
        CentreOfGravityInX: IfcPositiveLengthMeasure | null;
        CentreOfGravityInY: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), Depth: IfcPositiveLengthMeasure, Width: IfcPositiveLengthMeasure | null, Thickness: IfcPositiveLengthMeasure, FilletRadius: IfcPositiveLengthMeasure | null, EdgeRadius: IfcPositiveLengthMeasure | null, LegSlope: IfcPlaneAngleMeasure | null, CentreOfGravityInX: IfcPositiveLengthMeasure | null, CentreOfGravityInY: IfcPositiveLengthMeasure | null);
    }
    class IfcLine extends IfcCurve {
        Pnt: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Dir: (Handle<IfcVector> | IfcVector);
        type: number;
        constructor(Pnt: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Dir: (Handle<IfcVector> | IfcVector));
    }
    class IfcManifoldSolidBrep extends IfcSolidModel {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcObject extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        IsDefinedBy: (Handle<IfcRelDefines> | IfcRelDefines)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcOffsetCurve2D extends IfcCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Distance: IfcLengthMeasure;
        SelfIntersect: logical;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Distance: IfcLengthMeasure, SelfIntersect: logical);
    }
    class IfcOffsetCurve3D extends IfcCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Distance: IfcLengthMeasure;
        SelfIntersect: logical;
        RefDirection: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Distance: IfcLengthMeasure, SelfIntersect: logical, RefDirection: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcPermeableCoveringProperties extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        OperationType: IfcPermeableCoveringOperationEnum;
        PanelPosition: IfcWindowPanelPositionEnum;
        FrameDepth: IfcPositiveLengthMeasure | null;
        FrameThickness: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, OperationType: IfcPermeableCoveringOperationEnum, PanelPosition: IfcWindowPanelPositionEnum, FrameDepth: IfcPositiveLengthMeasure | null, FrameThickness: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcPlanarBox extends IfcPlanarExtent {
        SizeInX: IfcLengthMeasure;
        SizeInY: IfcLengthMeasure;
        Placement: IfcAxis2Placement;
        type: number;
        constructor(SizeInX: IfcLengthMeasure, SizeInY: IfcLengthMeasure, Placement: IfcAxis2Placement);
    }
    class IfcPlane extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcProcess extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        OperatesOn: (Handle<IfcRelAssignsToProcess> | IfcRelAssignsToProcess)[] | null;
        IsSuccessorFrom: (Handle<IfcRelSequence> | IfcRelSequence)[] | null;
        IsPredecessorTo: (Handle<IfcRelSequence> | IfcRelSequence)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcProduct extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ReferencedBy: (Handle<IfcRelAssignsToProduct> | IfcRelAssignsToProduct)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcProject extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        Phase: IfcLabel | null;
        RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[];
        UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, Phase: IfcLabel | null, RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[], UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment));
    }
    class IfcProjectionCurve extends IfcAnnotationCurveOccurrence {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment)[], Name: IfcLabel | null);
    }
    class IfcPropertySet extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        HasProperties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, HasProperties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcProxy extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        ProxyType: IfcObjectTypeEnum;
        Tag: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, ProxyType: IfcObjectTypeEnum, Tag: IfcLabel | null);
    }
    class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        InnerFilletRadius: IfcPositiveLengthMeasure | null;
        OuterFilletRadius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure, InnerFilletRadius: IfcPositiveLengthMeasure | null, OuterFilletRadius: IfcPositiveLengthMeasure | null);
    }
    class IfcRectangularPyramid extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        XLength: IfcPositiveLengthMeasure;
        YLength: IfcPositiveLengthMeasure;
        Height: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), XLength: IfcPositiveLengthMeasure, YLength: IfcPositiveLengthMeasure, Height: IfcPositiveLengthMeasure);
    }
    class IfcRectangularTrimmedSurface extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        U1: IfcParameterValue;
        V1: IfcParameterValue;
        U2: IfcParameterValue;
        V2: IfcParameterValue;
        Usense: boolean;
        Vsense: boolean;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), U1: IfcParameterValue, V1: IfcParameterValue, U2: IfcParameterValue, V2: IfcParameterValue, Usense: boolean, Vsense: boolean);
    }
    class IfcRelAssigns extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null);
    }
    class IfcRelAssignsToActor extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingActor: (Handle<IfcActor> | IfcActor);
        ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingActor: (Handle<IfcActor> | IfcActor), ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null);
    }
    class IfcRelAssignsToControl extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingControl: (Handle<IfcControl> | IfcControl);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingControl: (Handle<IfcControl> | IfcControl));
    }
    class IfcRelAssignsToGroup extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingGroup: (Handle<IfcGroup> | IfcGroup);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingGroup: (Handle<IfcGroup> | IfcGroup));
    }
    class IfcRelAssignsToProcess extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingProcess: (Handle<IfcProcess> | IfcProcess);
        QuantityInProcess: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingProcess: (Handle<IfcProcess> | IfcProcess), QuantityInProcess: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null);
    }
    class IfcRelAssignsToProduct extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingProduct: (Handle<IfcProduct> | IfcProduct);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingProduct: (Handle<IfcProduct> | IfcProduct));
    }
    class IfcRelAssignsToProjectOrder extends IfcRelAssignsToControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingControl: (Handle<IfcControl> | IfcControl);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingControl: (Handle<IfcControl> | IfcControl));
    }
    class IfcRelAssignsToResource extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingResource: (Handle<IfcResource> | IfcResource);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingResource: (Handle<IfcResource> | IfcResource));
    }
    class IfcRelAssociates extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[]);
    }
    class IfcRelAssociatesAppliedValue extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        RelatingAppliedValue: (Handle<IfcAppliedValue> | IfcAppliedValue);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], RelatingAppliedValue: (Handle<IfcAppliedValue> | IfcAppliedValue));
    }
    class IfcRelAssociatesApproval extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], RelatingApproval: (Handle<IfcApproval> | IfcApproval));
    }
    class IfcRelAssociatesClassification extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        RelatingClassification: IfcClassificationNotationSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], RelatingClassification: IfcClassificationNotationSelect);
    }
    class IfcRelAssociatesConstraint extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        Intent: IfcLabel;
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], Intent: IfcLabel, RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint));
    }
    class IfcRelAssociatesDocument extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        RelatingDocument: IfcDocumentSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], RelatingDocument: IfcDocumentSelect);
    }
    class IfcRelAssociatesLibrary extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        RelatingLibrary: IfcLibrarySelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], RelatingLibrary: IfcLibrarySelect);
    }
    class IfcRelAssociatesMaterial extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        RelatingMaterial: IfcMaterialSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], RelatingMaterial: IfcMaterialSelect);
    }
    class IfcRelAssociatesProfileProperties extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcRoot> | IfcRoot)[];
        RelatingProfileProperties: (Handle<IfcProfileProperties> | IfcProfileProperties);
        ProfileSectionLocation: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        ProfileOrientation: IfcOrientationSelect | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcRoot> | IfcRoot)[], RelatingProfileProperties: (Handle<IfcProfileProperties> | IfcProfileProperties), ProfileSectionLocation: (Handle<IfcShapeAspect> | IfcShapeAspect) | null, ProfileOrientation: IfcOrientationSelect | null);
    }
    class IfcRelConnects extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRelConnectsElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement));
    }
    class IfcRelConnectsPathElements extends IfcRelConnectsElements {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        RelatingPriorities: number[] | null;
        RelatedPriorities: number[] | null;
        RelatedConnectionType: IfcConnectionTypeEnum;
        RelatingConnectionType: IfcConnectionTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement), RelatingPriorities: number[] | null, RelatedPriorities: number[] | null, RelatedConnectionType: IfcConnectionTypeEnum, RelatingConnectionType: IfcConnectionTypeEnum);
    }
    class IfcRelConnectsPortToElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingPort: (Handle<IfcPort> | IfcPort);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingPort: (Handle<IfcPort> | IfcPort), RelatedElement: (Handle<IfcElement> | IfcElement));
    }
    class IfcRelConnectsPorts extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingPort: (Handle<IfcPort> | IfcPort);
        RelatedPort: (Handle<IfcPort> | IfcPort);
        RealizingElement: (Handle<IfcElement> | IfcElement) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingPort: (Handle<IfcPort> | IfcPort), RelatedPort: (Handle<IfcPort> | IfcPort), RealizingElement: (Handle<IfcElement> | IfcElement) | null);
    }
    class IfcRelConnectsStructuralActivity extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: IfcStructuralActivityAssignmentSelect;
        RelatedStructuralActivity: (Handle<IfcStructuralActivity> | IfcStructuralActivity);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingElement: IfcStructuralActivityAssignmentSelect, RelatedStructuralActivity: (Handle<IfcStructuralActivity> | IfcStructuralActivity));
    }
    class IfcRelConnectsStructuralElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember));
    }
    class IfcRelConnectsStructuralMember extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember);
        RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection);
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null;
        SupportedLength: IfcLengthMeasure | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember), RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection), AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null, SupportedLength: IfcLengthMeasure | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember);
        RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection);
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null;
        SupportedLength: IfcLengthMeasure | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ConnectionConstraint: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember), RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection), AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null, SupportedLength: IfcLengthMeasure | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ConnectionConstraint: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry));
    }
    class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        RealizingElements: (Handle<IfcElement> | IfcElement)[];
        ConnectionType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement), RealizingElements: (Handle<IfcElement> | IfcElement)[], ConnectionType: IfcLabel | null);
    }
    class IfcRelContainedInSpatialStructure extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedElements: (Handle<IfcProduct> | IfcProduct)[];
        RelatingStructure: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedElements: (Handle<IfcProduct> | IfcProduct)[], RelatingStructure: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement));
    }
    class IfcRelCoversBldgElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingBuildingElement: (Handle<IfcElement> | IfcElement);
        RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingBuildingElement: (Handle<IfcElement> | IfcElement), RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[]);
    }
    class IfcRelCoversSpaces extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedSpace: (Handle<IfcSpace> | IfcSpace);
        RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedSpace: (Handle<IfcSpace> | IfcSpace), RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[]);
    }
    class IfcRelDecomposes extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition);
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition), RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[]);
    }
    class IfcRelDefines extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[]);
    }
    class IfcRelDefinesByProperties extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        RelatingPropertyDefinition: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[], RelatingPropertyDefinition: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition));
    }
    class IfcRelDefinesByType extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        RelatingType: (Handle<IfcTypeObject> | IfcTypeObject);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[], RelatingType: (Handle<IfcTypeObject> | IfcTypeObject));
    }
    class IfcRelFillsElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingOpeningElement: (Handle<IfcOpeningElement> | IfcOpeningElement);
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingOpeningElement: (Handle<IfcOpeningElement> | IfcOpeningElement), RelatedBuildingElement: (Handle<IfcElement> | IfcElement));
    }
    class IfcRelFlowControlElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedControlElements: (Handle<IfcDistributionControlElement> | IfcDistributionControlElement)[];
        RelatingFlowElement: (Handle<IfcDistributionFlowElement> | IfcDistributionFlowElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedControlElements: (Handle<IfcDistributionControlElement> | IfcDistributionControlElement)[], RelatingFlowElement: (Handle<IfcDistributionFlowElement> | IfcDistributionFlowElement));
    }
    class IfcRelInteractionRequirements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        DailyInteraction: IfcCountMeasure | null;
        ImportanceRating: IfcNormalisedRatioMeasure | null;
        LocationOfInteraction: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement) | null;
        RelatedSpaceProgram: (Handle<IfcSpaceProgram> | IfcSpaceProgram);
        RelatingSpaceProgram: (Handle<IfcSpaceProgram> | IfcSpaceProgram);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, DailyInteraction: IfcCountMeasure | null, ImportanceRating: IfcNormalisedRatioMeasure | null, LocationOfInteraction: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement) | null, RelatedSpaceProgram: (Handle<IfcSpaceProgram> | IfcSpaceProgram), RelatingSpaceProgram: (Handle<IfcSpaceProgram> | IfcSpaceProgram));
    }
    class IfcRelNests extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition);
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition), RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[]);
    }
    class IfcRelOccupiesSpaces extends IfcRelAssignsToActor {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingActor: (Handle<IfcActor> | IfcActor);
        ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingActor: (Handle<IfcActor> | IfcActor), ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null);
    }
    class IfcRelOverridesProperties extends IfcRelDefinesByProperties {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        RelatingPropertyDefinition: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition);
        OverridingProperties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[], RelatingPropertyDefinition: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition), OverridingProperties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcRelProjectsElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedFeatureElement: (Handle<IfcFeatureElementAddition> | IfcFeatureElementAddition);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedFeatureElement: (Handle<IfcFeatureElementAddition> | IfcFeatureElementAddition));
    }
    class IfcRelReferencedInSpatialStructure extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedElements: (Handle<IfcProduct> | IfcProduct)[];
        RelatingStructure: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedElements: (Handle<IfcProduct> | IfcProduct)[], RelatingStructure: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement));
    }
    class IfcRelSchedulesCostItems extends IfcRelAssignsToControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingControl: (Handle<IfcControl> | IfcControl);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingControl: (Handle<IfcControl> | IfcControl));
    }
    class IfcRelSequence extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingProcess: (Handle<IfcProcess> | IfcProcess);
        RelatedProcess: (Handle<IfcProcess> | IfcProcess);
        TimeLag: IfcTimeMeasure;
        SequenceType: IfcSequenceEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingProcess: (Handle<IfcProcess> | IfcProcess), RelatedProcess: (Handle<IfcProcess> | IfcProcess), TimeLag: IfcTimeMeasure, SequenceType: IfcSequenceEnum);
    }
    class IfcRelServicesBuildings extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSystem: (Handle<IfcSystem> | IfcSystem);
        RelatedBuildings: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingSystem: (Handle<IfcSystem> | IfcSystem), RelatedBuildings: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement)[]);
    }
    class IfcRelSpaceBoundary extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: (Handle<IfcSpace> | IfcSpace);
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement) | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum;
        InternalOrExternalBoundary: IfcInternalOrExternalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: (Handle<IfcSpace> | IfcSpace), RelatedBuildingElement: (Handle<IfcElement> | IfcElement) | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum, InternalOrExternalBoundary: IfcInternalOrExternalEnum);
    }
    class IfcRelVoidsElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingBuildingElement: (Handle<IfcElement> | IfcElement);
        RelatedOpeningElement: (Handle<IfcFeatureElementSubtraction> | IfcFeatureElementSubtraction);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingBuildingElement: (Handle<IfcElement> | IfcElement), RelatedOpeningElement: (Handle<IfcFeatureElementSubtraction> | IfcFeatureElementSubtraction));
    }
    class IfcResource extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        ResourceOf: (Handle<IfcRelAssignsToResource> | IfcRelAssignsToResource)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcRevolvedAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        Angle: IfcPlaneAngleMeasure;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement), Angle: IfcPlaneAngleMeasure);
    }
    class IfcRightCircularCone extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Height: IfcPositiveLengthMeasure;
        BottomRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Height: IfcPositiveLengthMeasure, BottomRadius: IfcPositiveLengthMeasure);
    }
    class IfcRightCircularCylinder extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Height: IfcPositiveLengthMeasure;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Height: IfcPositiveLengthMeasure, Radius: IfcPositiveLengthMeasure);
    }
    class IfcSpatialStructureElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum;
        type: number;
        ReferencesElements: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        ServicedBySystems: (Handle<IfcRelServicesBuildings> | IfcRelServicesBuildings)[] | null;
        ContainsElements: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum);
    }
    class IfcSpatialStructureElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcSphere extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcStructuralActivity extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        AssignedToStructuralItem: (Handle<IfcRelConnectsStructuralActivity> | IfcRelConnectsStructuralActivity) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralItem extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        AssignedStructuralActivity: (Handle<IfcRelConnectsStructuralActivity> | IfcRelConnectsStructuralActivity)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcStructuralMember extends IfcStructuralItem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ReferencesElement: (Handle<IfcRelConnectsStructuralElement> | IfcRelConnectsStructuralElement)[] | null;
        ConnectedBy: (Handle<IfcRelConnectsStructuralMember> | IfcRelConnectsStructuralMember)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcStructuralReaction extends IfcStructuralActivity {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        Causes: (Handle<IfcStructuralAction> | IfcStructuralAction)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralSurfaceMember extends IfcStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralSurfaceTypeEnum;
        Thickness: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralSurfaceTypeEnum, Thickness: IfcPositiveLengthMeasure | null);
    }
    class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralSurfaceTypeEnum;
        Thickness: IfcPositiveLengthMeasure | null;
        SubsequentThickness: IfcPositiveLengthMeasure[];
        VaryingThicknessLocation: (Handle<IfcShapeAspect> | IfcShapeAspect);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralSurfaceTypeEnum, Thickness: IfcPositiveLengthMeasure | null, SubsequentThickness: IfcPositiveLengthMeasure[], VaryingThicknessLocation: (Handle<IfcShapeAspect> | IfcShapeAspect));
    }
    class IfcStructuredDimensionCallout extends IfcDraughtingCallout {
        Contents: IfcDraughtingCalloutElement[];
        type: number;
        constructor(Contents: IfcDraughtingCalloutElement[]);
    }
    class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Directrix: (Handle<IfcCurve> | IfcCurve);
        StartParam: IfcParameterValue;
        EndParam: IfcParameterValue;
        ReferenceSurface: (Handle<IfcSurface> | IfcSurface);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Directrix: (Handle<IfcCurve> | IfcCurve), StartParam: IfcParameterValue, EndParam: IfcParameterValue, ReferenceSurface: (Handle<IfcSurface> | IfcSurface));
    }
    class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcLengthMeasure;
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcLengthMeasure);
    }
    class IfcSurfaceOfRevolution extends IfcSweptSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        AxisPosition: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), AxisPosition: (Handle<IfcAxis1Placement> | IfcAxis1Placement));
    }
    class IfcSystemFurnitureElementType extends IfcFurnishingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcTask extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TaskId: IfcIdentifier;
        Status: IfcLabel | null;
        WorkMethod: IfcLabel | null;
        IsMilestone: boolean;
        Priority: number | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TaskId: IfcIdentifier, Status: IfcLabel | null, WorkMethod: IfcLabel | null, IsMilestone: boolean, Priority: number | null);
    }
    class IfcTransportElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTransportElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTransportElementTypeEnum);
    }
    class IfcActor extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheActor: IfcActorSelect;
        type: number;
        IsActingUpon: (Handle<IfcRelAssignsToActor> | IfcRelAssignsToActor)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheActor: IfcActorSelect);
    }
    class IfcAnnotation extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcAsymmetricIShapeProfileDef extends IfcIShapeProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        OverallWidth: IfcPositiveLengthMeasure;
        OverallDepth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcPositiveLengthMeasure | null;
        TopFlangeWidth: IfcPositiveLengthMeasure;
        TopFlangeThickness: IfcPositiveLengthMeasure | null;
        TopFlangeFilletRadius: IfcPositiveLengthMeasure | null;
        CentreOfGravityInY: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), OverallWidth: IfcPositiveLengthMeasure, OverallDepth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcPositiveLengthMeasure | null, TopFlangeWidth: IfcPositiveLengthMeasure, TopFlangeThickness: IfcPositiveLengthMeasure | null, TopFlangeFilletRadius: IfcPositiveLengthMeasure | null, CentreOfGravityInY: IfcPositiveLengthMeasure | null);
    }
    class IfcBlock extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        XLength: IfcPositiveLengthMeasure;
        YLength: IfcPositiveLengthMeasure;
        ZLength: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), XLength: IfcPositiveLengthMeasure, YLength: IfcPositiveLengthMeasure, ZLength: IfcPositiveLengthMeasure);
    }
    class IfcBooleanClippingResult extends IfcBooleanResult {
        Operator: IfcBooleanOperator;
        FirstOperand: IfcBooleanOperand;
        SecondOperand: IfcBooleanOperand;
        type: number;
        constructor(Operator: IfcBooleanOperator, FirstOperand: IfcBooleanOperand, SecondOperand: IfcBooleanOperand);
    }
    class IfcBoundedCurve extends IfcCurve {
        type: number;
        constructor();
    }
    class IfcBuilding extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum;
        ElevationOfRefHeight: IfcLengthMeasure | null;
        ElevationOfTerrain: IfcLengthMeasure | null;
        BuildingAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum, ElevationOfRefHeight: IfcLengthMeasure | null, ElevationOfTerrain: IfcLengthMeasure | null, BuildingAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null);
    }
    class IfcBuildingElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcBuildingStorey extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum;
        Elevation: IfcLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum, Elevation: IfcLengthMeasure | null);
    }
    class IfcCircleHollowProfileDef extends IfcCircleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D);
        Radius: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D), Radius: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure);
    }
    class IfcColumnType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcColumnTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcColumnTypeEnum);
    }
    class IfcCompositeCurve extends IfcBoundedCurve {
        Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[];
        SelfIntersect: logical;
        type: number;
        constructor(Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[], SelfIntersect: logical);
    }
    class IfcConic extends IfcCurve {
        Position: IfcAxis2Placement;
        type: number;
        constructor(Position: IfcAxis2Placement);
    }
    class IfcConstructionResource extends IfcResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ResourceIdentifier: IfcIdentifier | null;
        ResourceGroup: IfcLabel | null;
        ResourceConsumption: IfcResourceConsumptionEnum | null;
        BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ResourceIdentifier: IfcIdentifier | null, ResourceGroup: IfcLabel | null, ResourceConsumption: IfcResourceConsumptionEnum | null, BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null);
    }
    class IfcControl extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        Controls: (Handle<IfcRelAssignsToControl> | IfcRelAssignsToControl)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcCostItem extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcCostSchedule extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        SubmittedBy: IfcActorSelect | null;
        PreparedBy: IfcActorSelect | null;
        SubmittedOn: IfcDateTimeSelect | null;
        Status: IfcLabel | null;
        TargetUsers: IfcActorSelect[] | null;
        UpdateDate: IfcDateTimeSelect | null;
        ID: IfcIdentifier;
        PredefinedType: IfcCostScheduleTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, SubmittedBy: IfcActorSelect | null, PreparedBy: IfcActorSelect | null, SubmittedOn: IfcDateTimeSelect | null, Status: IfcLabel | null, TargetUsers: IfcActorSelect[] | null, UpdateDate: IfcDateTimeSelect | null, ID: IfcIdentifier, PredefinedType: IfcCostScheduleTypeEnum);
    }
    class IfcCoveringType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoveringTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoveringTypeEnum);
    }
    class IfcCrewResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ResourceIdentifier: IfcIdentifier | null;
        ResourceGroup: IfcLabel | null;
        ResourceConsumption: IfcResourceConsumptionEnum | null;
        BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ResourceIdentifier: IfcIdentifier | null, ResourceGroup: IfcLabel | null, ResourceConsumption: IfcResourceConsumptionEnum | null, BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null);
    }
    class IfcCurtainWallType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCurtainWallTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCurtainWallTypeEnum);
    }
    class IfcDimensionCurveDirectedCallout extends IfcDraughtingCallout {
        Contents: IfcDraughtingCalloutElement[];
        type: number;
        constructor(Contents: IfcDraughtingCalloutElement[]);
    }
    class IfcDistributionElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDistributionFlowElementType extends IfcDistributionElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcElectricalBaseProperties extends IfcEnergyProperties {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        EnergySequence: IfcEnergySequenceEnum | null;
        UserDefinedEnergySequence: IfcLabel | null;
        ElectricCurrentType: IfcElectricCurrentEnum | null;
        InputVoltage: IfcElectricVoltageMeasure;
        InputFrequency: IfcFrequencyMeasure;
        FullLoadCurrent: IfcElectricCurrentMeasure | null;
        MinimumCircuitCurrent: IfcElectricCurrentMeasure | null;
        MaximumPowerInput: IfcPowerMeasure | null;
        RatedPowerInput: IfcPowerMeasure | null;
        InputPhase: number;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, EnergySequence: IfcEnergySequenceEnum | null, UserDefinedEnergySequence: IfcLabel | null, ElectricCurrentType: IfcElectricCurrentEnum | null, InputVoltage: IfcElectricVoltageMeasure, InputFrequency: IfcFrequencyMeasure, FullLoadCurrent: IfcElectricCurrentMeasure | null, MinimumCircuitCurrent: IfcElectricCurrentMeasure | null, MaximumPowerInput: IfcPowerMeasure | null, RatedPowerInput: IfcPowerMeasure | null, InputPhase: number);
    }
    class IfcElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        HasStructuralMember: (Handle<IfcRelConnectsStructuralElement> | IfcRelConnectsStructuralElement)[] | null;
        FillsVoids: (Handle<IfcRelFillsElement> | IfcRelFillsElement)[] | null;
        ConnectedTo: (Handle<IfcRelConnectsElements> | IfcRelConnectsElements)[] | null;
        HasCoverings: (Handle<IfcRelCoversBldgElements> | IfcRelCoversBldgElements)[] | null;
        HasProjections: (Handle<IfcRelProjectsElement> | IfcRelProjectsElement)[] | null;
        ReferencedInStructures: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        HasPorts: (Handle<IfcRelConnectsPortToElement> | IfcRelConnectsPortToElement)[] | null;
        HasOpenings: (Handle<IfcRelVoidsElement> | IfcRelVoidsElement)[] | null;
        IsConnectionRealization: (Handle<IfcRelConnectsWithRealizingElements> | IfcRelConnectsWithRealizingElements)[] | null;
        ProvidesBoundaries: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        ConnectedFrom: (Handle<IfcRelConnectsElements> | IfcRelConnectsElements)[] | null;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcElementAssembly extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        AssemblyPlace: IfcAssemblyPlaceEnum | null;
        PredefinedType: IfcElementAssemblyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, AssemblyPlace: IfcAssemblyPlaceEnum | null, PredefinedType: IfcElementAssemblyTypeEnum);
    }
    class IfcElementComponent extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcElementComponentType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcEllipse extends IfcConic {
        Position: IfcAxis2Placement;
        SemiAxis1: IfcPositiveLengthMeasure;
        SemiAxis2: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: IfcAxis2Placement, SemiAxis1: IfcPositiveLengthMeasure, SemiAxis2: IfcPositiveLengthMeasure);
    }
    class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcEquipmentElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcEquipmentStandard extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEvaporativeCoolerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEvaporativeCoolerTypeEnum);
    }
    class IfcEvaporatorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEvaporatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEvaporatorTypeEnum);
    }
    class IfcFacetedBrep extends IfcManifoldSolidBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcFacetedBrepWithVoids extends IfcManifoldSolidBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        Voids: (Handle<IfcClosedShell> | IfcClosedShell)[];
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell), Voids: (Handle<IfcClosedShell> | IfcClosedShell)[]);
    }
    class IfcFastener extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFastenerType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFeatureElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFeatureElementAddition extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        ProjectsElements: (Handle<IfcRelProjectsElement> | IfcRelProjectsElement) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFeatureElementSubtraction extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        VoidsElements: (Handle<IfcRelVoidsElement> | IfcRelVoidsElement) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowControllerType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowFittingType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowMeterType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFlowMeterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFlowMeterTypeEnum);
    }
    class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowSegmentType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowTerminalType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFurnishingElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFurnitureStandard extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcGasTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcGasTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcGasTerminalTypeEnum);
    }
    class IfcGrid extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        UAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        VAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        WAxes: (Handle<IfcGridAxis> | IfcGridAxis)[] | null;
        type: number;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, UAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], VAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], WAxes: (Handle<IfcGridAxis> | IfcGridAxis)[] | null);
    }
    class IfcGroup extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        IsGroupedBy: (Handle<IfcRelAssignsToGroup> | IfcRelAssignsToGroup) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcHeatExchangerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcHeatExchangerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcHeatExchangerTypeEnum);
    }
    class IfcHumidifierType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcHumidifierTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcHumidifierTypeEnum);
    }
    class IfcInventory extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        InventoryType: IfcInventoryTypeEnum;
        Jurisdiction: IfcActorSelect;
        ResponsiblePersons: (Handle<IfcPerson> | IfcPerson)[];
        LastUpdateDate: (Handle<IfcCalendarDate> | IfcCalendarDate);
        CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, InventoryType: IfcInventoryTypeEnum, Jurisdiction: IfcActorSelect, ResponsiblePersons: (Handle<IfcPerson> | IfcPerson)[], LastUpdateDate: (Handle<IfcCalendarDate> | IfcCalendarDate), CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null, OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null);
    }
    class IfcJunctionBoxType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcJunctionBoxTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcJunctionBoxTypeEnum);
    }
    class IfcLaborResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ResourceIdentifier: IfcIdentifier | null;
        ResourceGroup: IfcLabel | null;
        ResourceConsumption: IfcResourceConsumptionEnum | null;
        BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        SkillSet: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ResourceIdentifier: IfcIdentifier | null, ResourceGroup: IfcLabel | null, ResourceConsumption: IfcResourceConsumptionEnum | null, BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, SkillSet: IfcText | null);
    }
    class IfcLampType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcLampTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcLampTypeEnum);
    }
    class IfcLightFixtureType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcLightFixtureTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcLightFixtureTypeEnum);
    }
    class IfcLinearDimension extends IfcDimensionCurveDirectedCallout {
        Contents: IfcDraughtingCalloutElement[];
        type: number;
        constructor(Contents: IfcDraughtingCalloutElement[]);
    }
    class IfcMechanicalFastener extends IfcFastener {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        NominalLength: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, NominalDiameter: IfcPositiveLengthMeasure | null, NominalLength: IfcPositiveLengthMeasure | null);
    }
    class IfcMechanicalFastenerType extends IfcFastenerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcMemberType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMemberTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMemberTypeEnum);
    }
    class IfcMotorConnectionType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMotorConnectionTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMotorConnectionTypeEnum);
    }
    class IfcMove extends IfcTask {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TaskId: IfcIdentifier;
        Status: IfcLabel | null;
        WorkMethod: IfcLabel | null;
        IsMilestone: boolean;
        Priority: number | null;
        MoveFrom: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement);
        MoveTo: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement);
        PunchList: IfcText[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TaskId: IfcIdentifier, Status: IfcLabel | null, WorkMethod: IfcLabel | null, IsMilestone: boolean, Priority: number | null, MoveFrom: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement), MoveTo: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement), PunchList: IfcText[] | null);
    }
    class IfcOccupant extends IfcActor {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheActor: IfcActorSelect;
        PredefinedType: IfcOccupantTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheActor: IfcActorSelect, PredefinedType: IfcOccupantTypeEnum);
    }
    class IfcOpeningElement extends IfcFeatureElementSubtraction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        HasFillings: (Handle<IfcRelFillsElement> | IfcRelFillsElement)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcOrderAction extends IfcTask {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TaskId: IfcIdentifier;
        Status: IfcLabel | null;
        WorkMethod: IfcLabel | null;
        IsMilestone: boolean;
        Priority: number | null;
        ActionID: IfcIdentifier;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TaskId: IfcIdentifier, Status: IfcLabel | null, WorkMethod: IfcLabel | null, IsMilestone: boolean, Priority: number | null, ActionID: IfcIdentifier);
    }
    class IfcOutletType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcOutletTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcOutletTypeEnum);
    }
    class IfcPerformanceHistory extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LifeCyclePhase: IfcLabel;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LifeCyclePhase: IfcLabel);
    }
    class IfcPermit extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PermitID: IfcIdentifier;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PermitID: IfcIdentifier);
    }
    class IfcPipeFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPipeFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPipeFittingTypeEnum);
    }
    class IfcPipeSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPipeSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPipeSegmentTypeEnum);
    }
    class IfcPlateType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPlateTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPlateTypeEnum);
    }
    class IfcPolyline extends IfcBoundedCurve {
        Points: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        type: number;
        constructor(Points: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[]);
    }
    class IfcPort extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ContainedIn: (Handle<IfcRelConnectsPortToElement> | IfcRelConnectsPortToElement) | null;
        ConnectedFrom: (Handle<IfcRelConnectsPorts> | IfcRelConnectsPorts)[] | null;
        ConnectedTo: (Handle<IfcRelConnectsPorts> | IfcRelConnectsPorts)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcProcedure extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ProcedureID: IfcIdentifier;
        ProcedureType: IfcProcedureTypeEnum;
        UserDefinedProcedureType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ProcedureID: IfcIdentifier, ProcedureType: IfcProcedureTypeEnum, UserDefinedProcedureType: IfcLabel | null);
    }
    class IfcProjectOrder extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ID: IfcIdentifier;
        PredefinedType: IfcProjectOrderTypeEnum;
        Status: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ID: IfcIdentifier, PredefinedType: IfcProjectOrderTypeEnum, Status: IfcLabel | null);
    }
    class IfcProjectOrderRecord extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Records: (Handle<IfcRelAssignsToProjectOrder> | IfcRelAssignsToProjectOrder)[];
        PredefinedType: IfcProjectOrderRecordTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Records: (Handle<IfcRelAssignsToProjectOrder> | IfcRelAssignsToProjectOrder)[], PredefinedType: IfcProjectOrderRecordTypeEnum);
    }
    class IfcProjectionElement extends IfcFeatureElementAddition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcProtectiveDeviceType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcProtectiveDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcProtectiveDeviceTypeEnum);
    }
    class IfcPumpType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPumpTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPumpTypeEnum);
    }
    class IfcRadiusDimension extends IfcDimensionCurveDirectedCallout {
        Contents: IfcDraughtingCalloutElement[];
        type: number;
        constructor(Contents: IfcDraughtingCalloutElement[]);
    }
    class IfcRailingType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRailingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRailingTypeEnum);
    }
    class IfcRampFlightType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRampFlightTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRampFlightTypeEnum);
    }
    class IfcRelAggregates extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition);
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition), RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[]);
    }
    class IfcRelAssignsTasks extends IfcRelAssignsToControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingControl: (Handle<IfcControl> | IfcControl);
        TimeForTask: (Handle<IfcScheduleTimeControl> | IfcScheduleTimeControl) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingControl: (Handle<IfcControl> | IfcControl), TimeForTask: (Handle<IfcScheduleTimeControl> | IfcScheduleTimeControl) | null);
    }
    class IfcSanitaryTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSanitaryTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSanitaryTerminalTypeEnum);
    }
    class IfcScheduleTimeControl extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ActualStart: IfcDateTimeSelect | null;
        EarlyStart: IfcDateTimeSelect | null;
        LateStart: IfcDateTimeSelect | null;
        ScheduleStart: IfcDateTimeSelect | null;
        ActualFinish: IfcDateTimeSelect | null;
        EarlyFinish: IfcDateTimeSelect | null;
        LateFinish: IfcDateTimeSelect | null;
        ScheduleFinish: IfcDateTimeSelect | null;
        ScheduleDuration: IfcTimeMeasure | null;
        ActualDuration: IfcTimeMeasure | null;
        RemainingTime: IfcTimeMeasure | null;
        FreeFloat: IfcTimeMeasure | null;
        TotalFloat: IfcTimeMeasure | null;
        IsCritical: boolean | null;
        StatusTime: IfcDateTimeSelect | null;
        StartFloat: IfcTimeMeasure | null;
        FinishFloat: IfcTimeMeasure | null;
        Completion: IfcPositiveRatioMeasure | null;
        type: number;
        ScheduleTimeControlAssigned: (Handle<IfcRelAssignsTasks> | IfcRelAssignsTasks) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ActualStart: IfcDateTimeSelect | null, EarlyStart: IfcDateTimeSelect | null, LateStart: IfcDateTimeSelect | null, ScheduleStart: IfcDateTimeSelect | null, ActualFinish: IfcDateTimeSelect | null, EarlyFinish: IfcDateTimeSelect | null, LateFinish: IfcDateTimeSelect | null, ScheduleFinish: IfcDateTimeSelect | null, ScheduleDuration: IfcTimeMeasure | null, ActualDuration: IfcTimeMeasure | null, RemainingTime: IfcTimeMeasure | null, FreeFloat: IfcTimeMeasure | null, TotalFloat: IfcTimeMeasure | null, IsCritical: boolean | null, StatusTime: IfcDateTimeSelect | null, StartFloat: IfcTimeMeasure | null, FinishFloat: IfcTimeMeasure | null, Completion: IfcPositiveRatioMeasure | null);
    }
    class IfcServiceLife extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ServiceLifeType: IfcServiceLifeTypeEnum;
        ServiceLifeDuration: IfcTimeMeasure;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ServiceLifeType: IfcServiceLifeTypeEnum, ServiceLifeDuration: IfcTimeMeasure);
    }
    class IfcSite extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum;
        RefLatitude: IfcCompoundPlaneAngleMeasure | null;
        RefLongitude: IfcCompoundPlaneAngleMeasure | null;
        RefElevation: IfcLengthMeasure | null;
        LandTitleNumber: IfcLabel | null;
        SiteAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum, RefLatitude: IfcCompoundPlaneAngleMeasure | null, RefLongitude: IfcCompoundPlaneAngleMeasure | null, RefElevation: IfcLengthMeasure | null, LandTitleNumber: IfcLabel | null, SiteAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null);
    }
    class IfcSlabType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSlabTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSlabTypeEnum);
    }
    class IfcSpace extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum;
        InteriorOrExteriorSpace: IfcInternalOrExternalEnum;
        ElevationWithFlooring: IfcLengthMeasure | null;
        type: number;
        HasCoverings: (Handle<IfcRelCoversSpaces> | IfcRelCoversSpaces)[] | null;
        BoundedBy: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum, InteriorOrExteriorSpace: IfcInternalOrExternalEnum, ElevationWithFlooring: IfcLengthMeasure | null);
    }
    class IfcSpaceHeaterType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpaceHeaterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpaceHeaterTypeEnum);
    }
    class IfcSpaceProgram extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        SpaceProgramIdentifier: IfcIdentifier;
        MaxRequiredArea: IfcAreaMeasure | null;
        MinRequiredArea: IfcAreaMeasure | null;
        RequestedLocation: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement) | null;
        StandardRequiredArea: IfcAreaMeasure;
        type: number;
        HasInteractionReqsFrom: (Handle<IfcRelInteractionRequirements> | IfcRelInteractionRequirements)[] | null;
        HasInteractionReqsTo: (Handle<IfcRelInteractionRequirements> | IfcRelInteractionRequirements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, SpaceProgramIdentifier: IfcIdentifier, MaxRequiredArea: IfcAreaMeasure | null, MinRequiredArea: IfcAreaMeasure | null, RequestedLocation: (Handle<IfcSpatialStructureElement> | IfcSpatialStructureElement) | null, StandardRequiredArea: IfcAreaMeasure);
    }
    class IfcSpaceType extends IfcSpatialStructureElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpaceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpaceTypeEnum);
    }
    class IfcStackTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStackTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStackTerminalTypeEnum);
    }
    class IfcStairFlightType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStairFlightTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStairFlightTypeEnum);
    }
    class IfcStructuralAction extends IfcStructuralActivity {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: boolean;
        CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: boolean, CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null);
    }
    class IfcStructuralConnection extends IfcStructuralItem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        ConnectsStructuralMembers: (Handle<IfcRelConnectsStructuralMember> | IfcRelConnectsStructuralMember)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcStructuralCurveConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcStructuralCurveMember extends IfcStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralCurveTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralCurveTypeEnum);
    }
    class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralCurveTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralCurveTypeEnum);
    }
    class IfcStructuralLinearAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: boolean;
        CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: boolean, CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum);
    }
    class IfcStructuralLinearActionVarying extends IfcStructuralLinearAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: boolean;
        CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum;
        VaryingAppliedLoadLocation: (Handle<IfcShapeAspect> | IfcShapeAspect);
        SubsequentAppliedLoads: (Handle<IfcStructuralLoad> | IfcStructuralLoad)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: boolean, CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum, VaryingAppliedLoadLocation: (Handle<IfcShapeAspect> | IfcShapeAspect), SubsequentAppliedLoads: (Handle<IfcStructuralLoad> | IfcStructuralLoad)[]);
    }
    class IfcStructuralLoadGroup extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcLoadGroupTypeEnum;
        ActionType: IfcActionTypeEnum;
        ActionSource: IfcActionSourceTypeEnum;
        Coefficient: IfcRatioMeasure | null;
        Purpose: IfcLabel | null;
        type: number;
        SourceOfResultGroup: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null;
        LoadGroupFor: (Handle<IfcStructuralAnalysisModel> | IfcStructuralAnalysisModel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcLoadGroupTypeEnum, ActionType: IfcActionTypeEnum, ActionSource: IfcActionSourceTypeEnum, Coefficient: IfcRatioMeasure | null, Purpose: IfcLabel | null);
    }
    class IfcStructuralPlanarAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: boolean;
        CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: boolean, CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum);
    }
    class IfcStructuralPlanarActionVarying extends IfcStructuralPlanarAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: boolean;
        CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum;
        VaryingAppliedLoadLocation: (Handle<IfcShapeAspect> | IfcShapeAspect);
        SubsequentAppliedLoads: (Handle<IfcStructuralLoad> | IfcStructuralLoad)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: boolean, CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum, VaryingAppliedLoadLocation: (Handle<IfcShapeAspect> | IfcShapeAspect), SubsequentAppliedLoads: (Handle<IfcStructuralLoad> | IfcStructuralLoad)[]);
    }
    class IfcStructuralPointAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: boolean;
        CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: boolean, CausedBy: (Handle<IfcStructuralReaction> | IfcStructuralReaction) | null);
    }
    class IfcStructuralPointConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcStructuralPointReaction extends IfcStructuralReaction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralResultGroup extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheoryType: IfcAnalysisTheoryTypeEnum;
        ResultForLoadGroup: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup) | null;
        IsLinear: boolean;
        type: number;
        ResultGroupFor: (Handle<IfcStructuralAnalysisModel> | IfcStructuralAnalysisModel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheoryType: IfcAnalysisTheoryTypeEnum, ResultForLoadGroup: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup) | null, IsLinear: boolean);
    }
    class IfcStructuralSurfaceConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcSubContractResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ResourceIdentifier: IfcIdentifier | null;
        ResourceGroup: IfcLabel | null;
        ResourceConsumption: IfcResourceConsumptionEnum | null;
        BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        SubContractor: IfcActorSelect | null;
        JobDescription: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ResourceIdentifier: IfcIdentifier | null, ResourceGroup: IfcLabel | null, ResourceConsumption: IfcResourceConsumptionEnum | null, BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, SubContractor: IfcActorSelect | null, JobDescription: IfcText | null);
    }
    class IfcSwitchingDeviceType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSwitchingDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSwitchingDeviceTypeEnum);
    }
    class IfcSystem extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        ServicesBuildings: (Handle<IfcRelServicesBuildings> | IfcRelServicesBuildings)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcTankType extends IfcFlowStorageDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTankTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTankTypeEnum);
    }
    class IfcTimeSeriesSchedule extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ApplicableDates: IfcDateTimeSelect[] | null;
        TimeSeriesScheduleType: IfcTimeSeriesScheduleTypeEnum;
        TimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ApplicableDates: IfcDateTimeSelect[] | null, TimeSeriesScheduleType: IfcTimeSeriesScheduleTypeEnum, TimeSeries: (Handle<IfcTimeSeries> | IfcTimeSeries));
    }
    class IfcTransformerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTransformerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTransformerTypeEnum);
    }
    class IfcTransportElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OperationType: IfcTransportElementTypeEnum | null;
        CapacityByWeight: IfcMassMeasure | null;
        CapacityByNumber: IfcCountMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OperationType: IfcTransportElementTypeEnum | null, CapacityByWeight: IfcMassMeasure | null, CapacityByNumber: IfcCountMeasure | null);
    }
    class IfcTrimmedCurve extends IfcBoundedCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Trim1: IfcTrimmingSelect[];
        Trim2: IfcTrimmingSelect[];
        SenseAgreement: boolean;
        MasterRepresentation: IfcTrimmingPreference;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Trim1: IfcTrimmingSelect[], Trim2: IfcTrimmingSelect[], SenseAgreement: boolean, MasterRepresentation: IfcTrimmingPreference);
    }
    class IfcTubeBundleType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTubeBundleTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTubeBundleTypeEnum);
    }
    class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcUnitaryEquipmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcUnitaryEquipmentTypeEnum);
    }
    class IfcValveType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcValveTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcValveTypeEnum);
    }
    class IfcVirtualElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcWallType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWallTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWallTypeEnum);
    }
    class IfcWasteTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWasteTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWasteTerminalTypeEnum);
    }
    class IfcWorkControl extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identifier: IfcIdentifier;
        CreationDate: IfcDateTimeSelect;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcTimeMeasure | null;
        TotalFloat: IfcTimeMeasure | null;
        StartTime: IfcDateTimeSelect;
        FinishTime: IfcDateTimeSelect | null;
        WorkControlType: IfcWorkControlTypeEnum | null;
        UserDefinedControlType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identifier: IfcIdentifier, CreationDate: IfcDateTimeSelect, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcTimeMeasure | null, TotalFloat: IfcTimeMeasure | null, StartTime: IfcDateTimeSelect, FinishTime: IfcDateTimeSelect | null, WorkControlType: IfcWorkControlTypeEnum | null, UserDefinedControlType: IfcLabel | null);
    }
    class IfcWorkPlan extends IfcWorkControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identifier: IfcIdentifier;
        CreationDate: IfcDateTimeSelect;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcTimeMeasure | null;
        TotalFloat: IfcTimeMeasure | null;
        StartTime: IfcDateTimeSelect;
        FinishTime: IfcDateTimeSelect | null;
        WorkControlType: IfcWorkControlTypeEnum | null;
        UserDefinedControlType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identifier: IfcIdentifier, CreationDate: IfcDateTimeSelect, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcTimeMeasure | null, TotalFloat: IfcTimeMeasure | null, StartTime: IfcDateTimeSelect, FinishTime: IfcDateTimeSelect | null, WorkControlType: IfcWorkControlTypeEnum | null, UserDefinedControlType: IfcLabel | null);
    }
    class IfcWorkSchedule extends IfcWorkControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identifier: IfcIdentifier;
        CreationDate: IfcDateTimeSelect;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcTimeMeasure | null;
        TotalFloat: IfcTimeMeasure | null;
        StartTime: IfcDateTimeSelect;
        FinishTime: IfcDateTimeSelect | null;
        WorkControlType: IfcWorkControlTypeEnum | null;
        UserDefinedControlType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identifier: IfcIdentifier, CreationDate: IfcDateTimeSelect, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcTimeMeasure | null, TotalFloat: IfcTimeMeasure | null, StartTime: IfcDateTimeSelect, FinishTime: IfcDateTimeSelect | null, WorkControlType: IfcWorkControlTypeEnum | null, UserDefinedControlType: IfcLabel | null);
    }
    class IfcZone extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class Ifc2DCompositeCurve extends IfcCompositeCurve {
        Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[];
        SelfIntersect: logical;
        type: number;
        constructor(Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[], SelfIntersect: logical);
    }
    class IfcActionRequest extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        RequestID: IfcIdentifier;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, RequestID: IfcIdentifier);
    }
    class IfcAirTerminalBoxType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirTerminalBoxTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirTerminalBoxTypeEnum);
    }
    class IfcAirTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirTerminalTypeEnum);
    }
    class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirToAirHeatRecoveryTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirToAirHeatRecoveryTypeEnum);
    }
    class IfcAngularDimension extends IfcDimensionCurveDirectedCallout {
        Contents: IfcDraughtingCalloutElement[];
        type: number;
        constructor(Contents: IfcDraughtingCalloutElement[]);
    }
    class IfcAsset extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        AssetID: IfcIdentifier;
        OriginalValue: (Handle<IfcCostValue> | IfcCostValue);
        CurrentValue: (Handle<IfcCostValue> | IfcCostValue);
        TotalReplacementCost: (Handle<IfcCostValue> | IfcCostValue);
        Owner: IfcActorSelect;
        User: IfcActorSelect;
        ResponsiblePerson: (Handle<IfcPerson> | IfcPerson);
        IncorporationDate: (Handle<IfcCalendarDate> | IfcCalendarDate);
        DepreciatedValue: (Handle<IfcCostValue> | IfcCostValue);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, AssetID: IfcIdentifier, OriginalValue: (Handle<IfcCostValue> | IfcCostValue), CurrentValue: (Handle<IfcCostValue> | IfcCostValue), TotalReplacementCost: (Handle<IfcCostValue> | IfcCostValue), Owner: IfcActorSelect, User: IfcActorSelect, ResponsiblePerson: (Handle<IfcPerson> | IfcPerson), IncorporationDate: (Handle<IfcCalendarDate> | IfcCalendarDate), DepreciatedValue: (Handle<IfcCostValue> | IfcCostValue));
    }
    class IfcBSplineCurve extends IfcBoundedCurve {
        Degree: number;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: logical;
        SelfIntersect: logical;
        type: number;
        constructor(Degree: number, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: logical, SelfIntersect: logical);
    }
    class IfcBeamType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBeamTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBeamTypeEnum);
    }
    class IfcBezierCurve extends IfcBSplineCurve {
        Degree: number;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: logical;
        SelfIntersect: logical;
        type: number;
        constructor(Degree: number, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: logical, SelfIntersect: logical);
    }
    class IfcBoilerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBoilerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBoilerTypeEnum);
    }
    class IfcBuildingElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcBuildingElementComponent extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcBuildingElementPart extends IfcBuildingElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcBuildingElementProxy extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        CompositionType: IfcElementCompositionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, CompositionType: IfcElementCompositionEnum | null);
    }
    class IfcBuildingElementProxyType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBuildingElementProxyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBuildingElementProxyTypeEnum);
    }
    class IfcCableCarrierFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableCarrierFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableCarrierFittingTypeEnum);
    }
    class IfcCableCarrierSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableCarrierSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableCarrierSegmentTypeEnum);
    }
    class IfcCableSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableSegmentTypeEnum);
    }
    class IfcChillerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcChillerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcChillerTypeEnum);
    }
    class IfcCircle extends IfcConic {
        Position: IfcAxis2Placement;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: IfcAxis2Placement, Radius: IfcPositiveLengthMeasure);
    }
    class IfcCoilType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoilTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoilTypeEnum);
    }
    class IfcColumn extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcCompressorType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCompressorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCompressorTypeEnum);
    }
    class IfcCondenserType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCondenserTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCondenserTypeEnum);
    }
    class IfcCondition extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcConditionCriterion extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Criterion: IfcConditionCriterionSelect;
        CriterionDateTime: IfcDateTimeSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Criterion: IfcConditionCriterionSelect, CriterionDateTime: IfcDateTimeSelect);
    }
    class IfcConstructionEquipmentResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ResourceIdentifier: IfcIdentifier | null;
        ResourceGroup: IfcLabel | null;
        ResourceConsumption: IfcResourceConsumptionEnum | null;
        BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ResourceIdentifier: IfcIdentifier | null, ResourceGroup: IfcLabel | null, ResourceConsumption: IfcResourceConsumptionEnum | null, BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null);
    }
    class IfcConstructionMaterialResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ResourceIdentifier: IfcIdentifier | null;
        ResourceGroup: IfcLabel | null;
        ResourceConsumption: IfcResourceConsumptionEnum | null;
        BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        Suppliers: IfcActorSelect[] | null;
        UsageRatio: IfcRatioMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ResourceIdentifier: IfcIdentifier | null, ResourceGroup: IfcLabel | null, ResourceConsumption: IfcResourceConsumptionEnum | null, BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, Suppliers: IfcActorSelect[] | null, UsageRatio: IfcRatioMeasure | null);
    }
    class IfcConstructionProductResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ResourceIdentifier: IfcIdentifier | null;
        ResourceGroup: IfcLabel | null;
        ResourceConsumption: IfcResourceConsumptionEnum | null;
        BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ResourceIdentifier: IfcIdentifier | null, ResourceGroup: IfcLabel | null, ResourceConsumption: IfcResourceConsumptionEnum | null, BaseQuantity: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null);
    }
    class IfcCooledBeamType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCooledBeamTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCooledBeamTypeEnum);
    }
    class IfcCoolingTowerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoolingTowerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoolingTowerTypeEnum);
    }
    class IfcCovering extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCoveringTypeEnum | null;
        type: number;
        CoversSpaces: (Handle<IfcRelCoversSpaces> | IfcRelCoversSpaces)[] | null;
        Covers: (Handle<IfcRelCoversBldgElements> | IfcRelCoversBldgElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCoveringTypeEnum | null);
    }
    class IfcCurtainWall extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDamperType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDamperTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDamperTypeEnum);
    }
    class IfcDiameterDimension extends IfcDimensionCurveDirectedCallout {
        Contents: IfcDraughtingCalloutElement[];
        type: number;
        constructor(Contents: IfcDraughtingCalloutElement[]);
    }
    class IfcDiscreteAccessory extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDiscreteAccessoryType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDistributionChamberElementType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDistributionChamberElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDistributionChamberElementTypeEnum);
    }
    class IfcDistributionControlElementType extends IfcDistributionElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDistributionElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDistributionFlowElement extends IfcDistributionElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        HasControlElements: (Handle<IfcRelFlowControlElements> | IfcRelFlowControlElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDistributionPort extends IfcPort {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        FlowDirection: IfcFlowDirectionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, FlowDirection: IfcFlowDirectionEnum | null);
    }
    class IfcDoor extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null);
    }
    class IfcDuctFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctFittingTypeEnum);
    }
    class IfcDuctSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctSegmentTypeEnum);
    }
    class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctSilencerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctSilencerTypeEnum);
    }
    class IfcEdgeFeature extends IfcFeatureElementSubtraction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        FeatureLength: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, FeatureLength: IfcPositiveLengthMeasure | null);
    }
    class IfcElectricApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricApplianceTypeEnum);
    }
    class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricFlowStorageDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricFlowStorageDeviceTypeEnum);
    }
    class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricGeneratorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricGeneratorTypeEnum);
    }
    class IfcElectricHeaterType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricHeaterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricHeaterTypeEnum);
    }
    class IfcElectricMotorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricMotorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricMotorTypeEnum);
    }
    class IfcElectricTimeControlType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricTimeControlTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricTimeControlTypeEnum);
    }
    class IfcElectricalCircuit extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcElectricalElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcEnergyConversionDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFanType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFanTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFanTypeEnum);
    }
    class IfcFilterType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFilterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFilterTypeEnum);
    }
    class IfcFireSuppressionTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFireSuppressionTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFireSuppressionTerminalTypeEnum);
    }
    class IfcFlowController extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowFitting extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowInstrumentType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFlowInstrumentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFlowInstrumentTypeEnum);
    }
    class IfcFlowMovingDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowSegment extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowStorageDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowTerminal extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowTreatmentDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFooting extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFootingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFootingTypeEnum);
    }
    class IfcMember extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcPile extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPileTypeEnum;
        ConstructionType: IfcPileConstructionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPileTypeEnum, ConstructionType: IfcPileConstructionEnum | null);
    }
    class IfcPlate extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcRailing extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRailingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRailingTypeEnum | null);
    }
    class IfcRamp extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        ShapeType: IfcRampTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, ShapeType: IfcRampTypeEnum);
    }
    class IfcRampFlight extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcRationalBezierCurve extends IfcBezierCurve {
        Degree: number;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: logical;
        SelfIntersect: logical;
        WeightsData: number[];
        type: number;
        constructor(Degree: number, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: logical, SelfIntersect: logical, WeightsData: number[]);
    }
    class IfcReinforcingElement extends IfcBuildingElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null);
    }
    class IfcReinforcingMesh extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        MeshLength: IfcPositiveLengthMeasure | null;
        MeshWidth: IfcPositiveLengthMeasure | null;
        LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure;
        TransverseBarNominalDiameter: IfcPositiveLengthMeasure;
        LongitudinalBarCrossSectionArea: IfcAreaMeasure;
        TransverseBarCrossSectionArea: IfcAreaMeasure;
        LongitudinalBarSpacing: IfcPositiveLengthMeasure;
        TransverseBarSpacing: IfcPositiveLengthMeasure;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, MeshLength: IfcPositiveLengthMeasure | null, MeshWidth: IfcPositiveLengthMeasure | null, LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure, TransverseBarNominalDiameter: IfcPositiveLengthMeasure, LongitudinalBarCrossSectionArea: IfcAreaMeasure, TransverseBarCrossSectionArea: IfcAreaMeasure, LongitudinalBarSpacing: IfcPositiveLengthMeasure, TransverseBarSpacing: IfcPositiveLengthMeasure);
    }
    class IfcRoof extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        ShapeType: IfcRoofTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, ShapeType: IfcRoofTypeEnum);
    }
    class IfcRoundedEdgeFeature extends IfcEdgeFeature {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        FeatureLength: IfcPositiveLengthMeasure | null;
        Radius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, FeatureLength: IfcPositiveLengthMeasure | null, Radius: IfcPositiveLengthMeasure | null);
    }
    class IfcSensorType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSensorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSensorTypeEnum);
    }
    class IfcSlab extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSlabTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSlabTypeEnum | null);
    }
    class IfcStair extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        ShapeType: IfcStairTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, ShapeType: IfcStairTypeEnum);
    }
    class IfcStairFlight extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        NumberOfRiser: number | null;
        NumberOfTreads: number | null;
        RiserHeight: IfcPositiveLengthMeasure | null;
        TreadLength: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, NumberOfRiser: number | null, NumberOfTreads: number | null, RiserHeight: IfcPositiveLengthMeasure | null, TreadLength: IfcPositiveLengthMeasure | null);
    }
    class IfcStructuralAnalysisModel extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcAnalysisModelTypeEnum;
        OrientationOf2DPlane: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        LoadedBy: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup)[] | null;
        HasResults: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcAnalysisModelTypeEnum, OrientationOf2DPlane: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, LoadedBy: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup)[] | null, HasResults: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null);
    }
    class IfcTendon extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        PredefinedType: IfcTendonTypeEnum;
        NominalDiameter: IfcPositiveLengthMeasure;
        CrossSectionArea: IfcAreaMeasure;
        TensionForce: IfcForceMeasure | null;
        PreStress: IfcPressureMeasure | null;
        FrictionCoefficient: IfcNormalisedRatioMeasure | null;
        AnchorageSlip: IfcPositiveLengthMeasure | null;
        MinCurvatureRadius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, PredefinedType: IfcTendonTypeEnum, NominalDiameter: IfcPositiveLengthMeasure, CrossSectionArea: IfcAreaMeasure, TensionForce: IfcForceMeasure | null, PreStress: IfcPressureMeasure | null, FrictionCoefficient: IfcNormalisedRatioMeasure | null, AnchorageSlip: IfcPositiveLengthMeasure | null, MinCurvatureRadius: IfcPositiveLengthMeasure | null);
    }
    class IfcTendonAnchor extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null);
    }
    class IfcVibrationIsolatorType extends IfcDiscreteAccessoryType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcVibrationIsolatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcVibrationIsolatorTypeEnum);
    }
    class IfcWall extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcWallStandardCase extends IfcWall {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcWindow extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null);
    }
    class IfcActuatorType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcActuatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcActuatorTypeEnum);
    }
    class IfcAlarmType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAlarmTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAlarmTypeEnum);
    }
    class IfcBeam extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcChamferEdgeFeature extends IfcEdgeFeature {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        FeatureLength: IfcPositiveLengthMeasure | null;
        Width: IfcPositiveLengthMeasure | null;
        Height: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, FeatureLength: IfcPositiveLengthMeasure | null, Width: IfcPositiveLengthMeasure | null, Height: IfcPositiveLengthMeasure | null);
    }
    class IfcControllerType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcLabel | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcControllerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcLabel | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcControllerTypeEnum);
    }
    class IfcDistributionChamberElement extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDistributionControlElement extends IfcDistributionElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        ControlElementId: IfcIdentifier | null;
        type: number;
        AssignedToFlowElement: (Handle<IfcRelFlowControlElements> | IfcRelFlowControlElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, ControlElementId: IfcIdentifier | null);
    }
    class IfcElectricDistributionPoint extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        DistributionPointFunction: IfcElectricDistributionPointFunctionEnum;
        UserDefinedFunction: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, DistributionPointFunction: IfcElectricDistributionPointFunctionEnum, UserDefinedFunction: IfcLabel | null);
    }
    class IfcReinforcingBar extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory);
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        NominalDiameter: IfcPositiveLengthMeasure;
        CrossSectionArea: IfcAreaMeasure;
        BarLength: IfcPositiveLengthMeasure | null;
        BarRole: IfcReinforcingBarRoleEnum;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory), Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, NominalDiameter: IfcPositiveLengthMeasure, CrossSectionArea: IfcAreaMeasure, BarLength: IfcPositiveLengthMeasure | null, BarRole: IfcReinforcingBarRoleEnum, BarSurface: IfcReinforcingBarSurfaceEnum | null);
    }
}
export declare namespace IFC4 {
    class IfcAbsorbedDoseMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAccelerationMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAmountOfSubstanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAngularVelocityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcArcIndex {
        value: Array<IfcPositiveInteger>;
        type: number;
        constructor(value: Array<IfcPositiveInteger>);
    }
    class IfcAreaDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAreaMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcBinary {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcBoolean {
        type: number;
        name: string;
        value: boolean;
        constructor(v: any);
    }
    class IfcBoxAlignment {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcCardinalPointReference {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcComplexNumber {
        value: Array<number>;
        type: number;
        constructor(value: Array<number>);
    }
    class IfcCompoundPlaneAngleMeasure {
        value: Array<number>;
        type: number;
        constructor(value: Array<number>);
    }
    class IfcContextDependentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcCountMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcCurvatureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDate {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDateTime {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDayInMonthNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDayInWeekNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDescriptiveMeasure {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDimensionCount {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDoseEquivalentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDuration {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDynamicViscosityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricCapacitanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricChargeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricConductanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricCurrentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricResistanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricVoltageMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcEnergyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcFontStyle {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcFontVariant {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcFontWeight {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcFrequencyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcGloballyUniqueId {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcHeatFluxDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcHeatingValueMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIdentifier {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcIlluminanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcInductanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcInteger {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIntegerCountRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIonConcentrationMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIsothermalMoistureCapacityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcKinematicViscosityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLabel {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcLanguageId {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLineIndex {
        value: Array<IfcPositiveInteger>;
        type: number;
        constructor(value: Array<IfcPositiveInteger>);
    }
    class IfcLinearForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearMomentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearStiffnessMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearVelocityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLogical {
        type: number;
        name: string;
        value: logical;
        constructor(v: any);
    }
    class IfcLuminousFluxMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLuminousIntensityDistributionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLuminousIntensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMagneticFluxDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMagneticFluxMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassFlowRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassPerLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfElasticityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfLinearSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfRotationalSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMoistureDiffusivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMolecularWeightMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMomentOfInertiaMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMonetaryMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMonthInYearNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNonNegativeLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNormalisedRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNumericMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPHMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcParameterValue {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPlanarForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPlaneAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveInteger {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositivePlaneAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPowerMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPresentableText {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcPressureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPropertySetDefinitionSet {
        value: Array<IfcPropertySetDefinition>;
        type: number;
        constructor(value: Array<IfcPropertySetDefinition>);
    }
    class IfcRadioActivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcReal {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalFrequencyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalMassMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalStiffnessMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSectionModulusMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSectionalAreaIntegralMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcShearModulusMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSolidAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPowerLevelMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPowerMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPressureLevelMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPressureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecificHeatCapacityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecularExponent {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecularRoughness {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTemperatureGradientMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTemperatureRateOfChangeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcText {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextAlignment {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextDecoration {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextFontName {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextTransformation {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcThermalAdmittanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalConductivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalExpansionCoefficientMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalResistanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalTransmittanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermodynamicTemperatureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTime {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTimeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTimeStamp {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTorqueMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcURIReference {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcVaporPermeabilityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcVolumeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcVolumetricFlowRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcWarpingConstantMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcWarpingMomentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcActionRequestTypeEnum {
        static EMAIL: any;
        static FAX: any;
        static PHONE: any;
        static POST: any;
        static VERBAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActionSourceTypeEnum {
        static DEAD_LOAD_G: any;
        static COMPLETION_G1: any;
        static LIVE_LOAD_Q: any;
        static SNOW_S: any;
        static WIND_W: any;
        static PRESTRESSING_P: any;
        static SETTLEMENT_U: any;
        static TEMPERATURE_T: any;
        static EARTHQUAKE_E: any;
        static FIRE: any;
        static IMPULSE: any;
        static IMPACT: any;
        static TRANSPORT: any;
        static ERECTION: any;
        static PROPPING: any;
        static SYSTEM_IMPERFECTION: any;
        static SHRINKAGE: any;
        static CREEP: any;
        static LACK_OF_FIT: any;
        static BUOYANCY: any;
        static ICE: any;
        static CURRENT: any;
        static WAVE: any;
        static RAIN: any;
        static BRAKES: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActionTypeEnum {
        static PERMANENT_G: any;
        static VARIABLE_Q: any;
        static EXTRAORDINARY_A: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActuatorTypeEnum {
        static ELECTRICACTUATOR: any;
        static HANDOPERATEDACTUATOR: any;
        static HYDRAULICACTUATOR: any;
        static PNEUMATICACTUATOR: any;
        static THERMOSTATICACTUATOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAddressTypeEnum {
        static OFFICE: any;
        static SITE: any;
        static HOME: any;
        static DISTRIBUTIONPOINT: any;
        static USERDEFINED: any;
    }
    class IfcAirTerminalBoxTypeEnum {
        static CONSTANTFLOW: any;
        static VARIABLEFLOWPRESSUREDEPENDANT: any;
        static VARIABLEFLOWPRESSUREINDEPENDANT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAirTerminalTypeEnum {
        static DIFFUSER: any;
        static GRILLE: any;
        static LOUVRE: any;
        static REGISTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAirToAirHeatRecoveryTypeEnum {
        static FIXEDPLATECOUNTERFLOWEXCHANGER: any;
        static FIXEDPLATECROSSFLOWEXCHANGER: any;
        static FIXEDPLATEPARALLELFLOWEXCHANGER: any;
        static ROTARYWHEEL: any;
        static RUNAROUNDCOILLOOP: any;
        static HEATPIPE: any;
        static TWINTOWERENTHALPYRECOVERYLOOPS: any;
        static THERMOSIPHONSEALEDTUBEHEATEXCHANGERS: any;
        static THERMOSIPHONCOILTYPEHEATEXCHANGERS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAlarmTypeEnum {
        static BELL: any;
        static BREAKGLASSBUTTON: any;
        static LIGHT: any;
        static MANUALPULLBOX: any;
        static SIREN: any;
        static WHISTLE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAnalysisModelTypeEnum {
        static IN_PLANE_LOADING_2D: any;
        static OUT_PLANE_LOADING_2D: any;
        static LOADING_3D: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAnalysisTheoryTypeEnum {
        static FIRST_ORDER_THEORY: any;
        static SECOND_ORDER_THEORY: any;
        static THIRD_ORDER_THEORY: any;
        static FULL_NONLINEAR_THEORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcArithmeticOperatorEnum {
        static ADD: any;
        static DIVIDE: any;
        static MULTIPLY: any;
        static SUBTRACT: any;
    }
    class IfcAssemblyPlaceEnum {
        static SITE: any;
        static FACTORY: any;
        static NOTDEFINED: any;
    }
    class IfcAudioVisualApplianceTypeEnum {
        static AMPLIFIER: any;
        static CAMERA: any;
        static DISPLAY: any;
        static MICROPHONE: any;
        static PLAYER: any;
        static PROJECTOR: any;
        static RECEIVER: any;
        static SPEAKER: any;
        static SWITCHER: any;
        static TELEPHONE: any;
        static TUNER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBSplineCurveForm {
        static POLYLINE_FORM: any;
        static CIRCULAR_ARC: any;
        static ELLIPTIC_ARC: any;
        static PARABOLIC_ARC: any;
        static HYPERBOLIC_ARC: any;
        static UNSPECIFIED: any;
    }
    class IfcBSplineSurfaceForm {
        static PLANE_SURF: any;
        static CYLINDRICAL_SURF: any;
        static CONICAL_SURF: any;
        static SPHERICAL_SURF: any;
        static TOROIDAL_SURF: any;
        static SURF_OF_REVOLUTION: any;
        static RULED_SURF: any;
        static GENERALISED_CONE: any;
        static QUADRIC_SURF: any;
        static SURF_OF_LINEAR_EXTRUSION: any;
        static UNSPECIFIED: any;
    }
    class IfcBeamTypeEnum {
        static BEAM: any;
        static JOIST: any;
        static HOLLOWCORE: any;
        static LINTEL: any;
        static SPANDREL: any;
        static T_BEAM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBenchmarkEnum {
        static GREATERTHAN: any;
        static GREATERTHANOREQUALTO: any;
        static LESSTHAN: any;
        static LESSTHANOREQUALTO: any;
        static EQUALTO: any;
        static NOTEQUALTO: any;
        static INCLUDES: any;
        static NOTINCLUDES: any;
        static INCLUDEDIN: any;
        static NOTINCLUDEDIN: any;
    }
    class IfcBoilerTypeEnum {
        static WATER: any;
        static STEAM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBooleanOperator {
        static UNION: any;
        static INTERSECTION: any;
        static DIFFERENCE: any;
    }
    class IfcBuildingElementPartTypeEnum {
        static INSULATION: any;
        static PRECASTPANEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBuildingElementProxyTypeEnum {
        static COMPLEX: any;
        static ELEMENT: any;
        static PARTIAL: any;
        static PROVISIONFORVOID: any;
        static PROVISIONFORSPACE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBuildingSystemTypeEnum {
        static FENESTRATION: any;
        static FOUNDATION: any;
        static LOADBEARING: any;
        static OUTERSHELL: any;
        static SHADING: any;
        static TRANSPORT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBurnerTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableCarrierFittingTypeEnum {
        static BEND: any;
        static CROSS: any;
        static REDUCER: any;
        static TEE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableCarrierSegmentTypeEnum {
        static CABLELADDERSEGMENT: any;
        static CABLETRAYSEGMENT: any;
        static CABLETRUNKINGSEGMENT: any;
        static CONDUITSEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableFittingTypeEnum {
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static JUNCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableSegmentTypeEnum {
        static BUSBARSEGMENT: any;
        static CABLESEGMENT: any;
        static CONDUCTORSEGMENT: any;
        static CORESEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcChangeActionEnum {
        static NOCHANGE: any;
        static MODIFIED: any;
        static ADDED: any;
        static DELETED: any;
        static NOTDEFINED: any;
    }
    class IfcChillerTypeEnum {
        static AIRCOOLED: any;
        static WATERCOOLED: any;
        static HEATRECOVERY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcChimneyTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoilTypeEnum {
        static DXCOOLINGCOIL: any;
        static ELECTRICHEATINGCOIL: any;
        static GASHEATINGCOIL: any;
        static HYDRONICCOIL: any;
        static STEAMHEATINGCOIL: any;
        static WATERCOOLINGCOIL: any;
        static WATERHEATINGCOIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcColumnTypeEnum {
        static COLUMN: any;
        static PILASTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCommunicationsApplianceTypeEnum {
        static ANTENNA: any;
        static COMPUTER: any;
        static FAX: any;
        static GATEWAY: any;
        static MODEM: any;
        static NETWORKAPPLIANCE: any;
        static NETWORKBRIDGE: any;
        static NETWORKHUB: any;
        static PRINTER: any;
        static REPEATER: any;
        static ROUTER: any;
        static SCANNER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcComplexPropertyTemplateTypeEnum {
        static P_COMPLEX: any;
        static Q_COMPLEX: any;
    }
    class IfcCompressorTypeEnum {
        static DYNAMIC: any;
        static RECIPROCATING: any;
        static ROTARY: any;
        static SCROLL: any;
        static TROCHOIDAL: any;
        static SINGLESTAGE: any;
        static BOOSTER: any;
        static OPENTYPE: any;
        static HERMETIC: any;
        static SEMIHERMETIC: any;
        static WELDEDSHELLHERMETIC: any;
        static ROLLINGPISTON: any;
        static ROTARYVANE: any;
        static SINGLESCREW: any;
        static TWINSCREW: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCondenserTypeEnum {
        static AIRCOOLED: any;
        static EVAPORATIVECOOLED: any;
        static WATERCOOLED: any;
        static WATERCOOLEDBRAZEDPLATE: any;
        static WATERCOOLEDSHELLCOIL: any;
        static WATERCOOLEDSHELLTUBE: any;
        static WATERCOOLEDTUBEINTUBE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConnectionTypeEnum {
        static ATPATH: any;
        static ATSTART: any;
        static ATEND: any;
        static NOTDEFINED: any;
    }
    class IfcConstraintEnum {
        static HARD: any;
        static SOFT: any;
        static ADVISORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConstructionEquipmentResourceTypeEnum {
        static DEMOLISHING: any;
        static EARTHMOVING: any;
        static ERECTING: any;
        static HEATING: any;
        static LIGHTING: any;
        static PAVING: any;
        static PUMPING: any;
        static TRANSPORTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConstructionMaterialResourceTypeEnum {
        static AGGREGATES: any;
        static CONCRETE: any;
        static DRYWALL: any;
        static FUEL: any;
        static GYPSUM: any;
        static MASONRY: any;
        static METAL: any;
        static PLASTIC: any;
        static WOOD: any;
        static NOTDEFINED: any;
        static USERDEFINED: any;
    }
    class IfcConstructionProductResourceTypeEnum {
        static ASSEMBLY: any;
        static FORMWORK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcControllerTypeEnum {
        static FLOATING: any;
        static PROGRAMMABLE: any;
        static PROPORTIONAL: any;
        static MULTIPOSITION: any;
        static TWOPOSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCooledBeamTypeEnum {
        static ACTIVE: any;
        static PASSIVE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoolingTowerTypeEnum {
        static NATURALDRAFT: any;
        static MECHANICALINDUCEDDRAFT: any;
        static MECHANICALFORCEDDRAFT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCostItemTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCostScheduleTypeEnum {
        static BUDGET: any;
        static COSTPLAN: any;
        static ESTIMATE: any;
        static TENDER: any;
        static PRICEDBILLOFQUANTITIES: any;
        static UNPRICEDBILLOFQUANTITIES: any;
        static SCHEDULEOFRATES: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoveringTypeEnum {
        static CEILING: any;
        static FLOORING: any;
        static CLADDING: any;
        static ROOFING: any;
        static MOLDING: any;
        static SKIRTINGBOARD: any;
        static INSULATION: any;
        static MEMBRANE: any;
        static SLEEVING: any;
        static WRAPPING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCrewResourceTypeEnum {
        static OFFICE: any;
        static SITE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCurtainWallTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCurveInterpolationEnum {
        static LINEAR: any;
        static LOG_LINEAR: any;
        static LOG_LOG: any;
        static NOTDEFINED: any;
    }
    class IfcDamperTypeEnum {
        static BACKDRAFTDAMPER: any;
        static BALANCINGDAMPER: any;
        static BLASTDAMPER: any;
        static CONTROLDAMPER: any;
        static FIREDAMPER: any;
        static FIRESMOKEDAMPER: any;
        static FUMEHOODEXHAUST: any;
        static GRAVITYDAMPER: any;
        static GRAVITYRELIEFDAMPER: any;
        static RELIEFDAMPER: any;
        static SMOKEDAMPER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDataOriginEnum {
        static MEASURED: any;
        static PREDICTED: any;
        static SIMULATED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDerivedUnitEnum {
        static ANGULARVELOCITYUNIT: any;
        static AREADENSITYUNIT: any;
        static COMPOUNDPLANEANGLEUNIT: any;
        static DYNAMICVISCOSITYUNIT: any;
        static HEATFLUXDENSITYUNIT: any;
        static INTEGERCOUNTRATEUNIT: any;
        static ISOTHERMALMOISTURECAPACITYUNIT: any;
        static KINEMATICVISCOSITYUNIT: any;
        static LINEARVELOCITYUNIT: any;
        static MASSDENSITYUNIT: any;
        static MASSFLOWRATEUNIT: any;
        static MOISTUREDIFFUSIVITYUNIT: any;
        static MOLECULARWEIGHTUNIT: any;
        static SPECIFICHEATCAPACITYUNIT: any;
        static THERMALADMITTANCEUNIT: any;
        static THERMALCONDUCTANCEUNIT: any;
        static THERMALRESISTANCEUNIT: any;
        static THERMALTRANSMITTANCEUNIT: any;
        static VAPORPERMEABILITYUNIT: any;
        static VOLUMETRICFLOWRATEUNIT: any;
        static ROTATIONALFREQUENCYUNIT: any;
        static TORQUEUNIT: any;
        static MOMENTOFINERTIAUNIT: any;
        static LINEARMOMENTUNIT: any;
        static LINEARFORCEUNIT: any;
        static PLANARFORCEUNIT: any;
        static MODULUSOFELASTICITYUNIT: any;
        static SHEARMODULUSUNIT: any;
        static LINEARSTIFFNESSUNIT: any;
        static ROTATIONALSTIFFNESSUNIT: any;
        static MODULUSOFSUBGRADEREACTIONUNIT: any;
        static ACCELERATIONUNIT: any;
        static CURVATUREUNIT: any;
        static HEATINGVALUEUNIT: any;
        static IONCONCENTRATIONUNIT: any;
        static LUMINOUSINTENSITYDISTRIBUTIONUNIT: any;
        static MASSPERLENGTHUNIT: any;
        static MODULUSOFLINEARSUBGRADEREACTIONUNIT: any;
        static MODULUSOFROTATIONALSUBGRADEREACTIONUNIT: any;
        static PHUNIT: any;
        static ROTATIONALMASSUNIT: any;
        static SECTIONAREAINTEGRALUNIT: any;
        static SECTIONMODULUSUNIT: any;
        static SOUNDPOWERLEVELUNIT: any;
        static SOUNDPOWERUNIT: any;
        static SOUNDPRESSURELEVELUNIT: any;
        static SOUNDPRESSUREUNIT: any;
        static TEMPERATUREGRADIENTUNIT: any;
        static TEMPERATURERATEOFCHANGEUNIT: any;
        static THERMALEXPANSIONCOEFFICIENTUNIT: any;
        static WARPINGCONSTANTUNIT: any;
        static WARPINGMOMENTUNIT: any;
        static USERDEFINED: any;
    }
    class IfcDirectionSenseEnum {
        static POSITIVE: any;
        static NEGATIVE: any;
    }
    class IfcDiscreteAccessoryTypeEnum {
        static ANCHORPLATE: any;
        static BRACKET: any;
        static SHOE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDistributionChamberElementTypeEnum {
        static FORMEDDUCT: any;
        static INSPECTIONCHAMBER: any;
        static INSPECTIONPIT: any;
        static MANHOLE: any;
        static METERCHAMBER: any;
        static SUMP: any;
        static TRENCH: any;
        static VALVECHAMBER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDistributionPortTypeEnum {
        static CABLE: any;
        static CABLECARRIER: any;
        static DUCT: any;
        static PIPE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDistributionSystemEnum {
        static AIRCONDITIONING: any;
        static AUDIOVISUAL: any;
        static CHEMICAL: any;
        static CHILLEDWATER: any;
        static COMMUNICATION: any;
        static COMPRESSEDAIR: any;
        static CONDENSERWATER: any;
        static CONTROL: any;
        static CONVEYING: any;
        static DATA: any;
        static DISPOSAL: any;
        static DOMESTICCOLDWATER: any;
        static DOMESTICHOTWATER: any;
        static DRAINAGE: any;
        static EARTHING: any;
        static ELECTRICAL: any;
        static ELECTROACOUSTIC: any;
        static EXHAUST: any;
        static FIREPROTECTION: any;
        static FUEL: any;
        static GAS: any;
        static HAZARDOUS: any;
        static HEATING: any;
        static LIGHTING: any;
        static LIGHTNINGPROTECTION: any;
        static MUNICIPALSOLIDWASTE: any;
        static OIL: any;
        static OPERATIONAL: any;
        static POWERGENERATION: any;
        static RAINWATER: any;
        static REFRIGERATION: any;
        static SECURITY: any;
        static SEWAGE: any;
        static SIGNAL: any;
        static STORMWATER: any;
        static TELEPHONE: any;
        static TV: any;
        static VACUUM: any;
        static VENT: any;
        static VENTILATION: any;
        static WASTEWATER: any;
        static WATERSUPPLY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDocumentConfidentialityEnum {
        static PUBLIC: any;
        static RESTRICTED: any;
        static CONFIDENTIAL: any;
        static PERSONAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDocumentStatusEnum {
        static DRAFT: any;
        static FINALDRAFT: any;
        static FINAL: any;
        static REVISION: any;
        static NOTDEFINED: any;
    }
    class IfcDoorPanelOperationEnum {
        static SWINGING: any;
        static DOUBLE_ACTING: any;
        static SLIDING: any;
        static FOLDING: any;
        static REVOLVING: any;
        static ROLLINGUP: any;
        static FIXEDPANEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorPanelPositionEnum {
        static LEFT: any;
        static MIDDLE: any;
        static RIGHT: any;
        static NOTDEFINED: any;
    }
    class IfcDoorStyleConstructionEnum {
        static ALUMINIUM: any;
        static HIGH_GRADE_STEEL: any;
        static STEEL: any;
        static WOOD: any;
        static ALUMINIUM_WOOD: any;
        static ALUMINIUM_PLASTIC: any;
        static PLASTIC: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorStyleOperationEnum {
        static SINGLE_SWING_LEFT: any;
        static SINGLE_SWING_RIGHT: any;
        static DOUBLE_DOOR_SINGLE_SWING: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT: any;
        static DOUBLE_SWING_LEFT: any;
        static DOUBLE_SWING_RIGHT: any;
        static DOUBLE_DOOR_DOUBLE_SWING: any;
        static SLIDING_TO_LEFT: any;
        static SLIDING_TO_RIGHT: any;
        static DOUBLE_DOOR_SLIDING: any;
        static FOLDING_TO_LEFT: any;
        static FOLDING_TO_RIGHT: any;
        static DOUBLE_DOOR_FOLDING: any;
        static REVOLVING: any;
        static ROLLINGUP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorTypeEnum {
        static DOOR: any;
        static GATE: any;
        static TRAPDOOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorTypeOperationEnum {
        static SINGLE_SWING_LEFT: any;
        static SINGLE_SWING_RIGHT: any;
        static DOUBLE_DOOR_SINGLE_SWING: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT: any;
        static DOUBLE_SWING_LEFT: any;
        static DOUBLE_SWING_RIGHT: any;
        static DOUBLE_DOOR_DOUBLE_SWING: any;
        static SLIDING_TO_LEFT: any;
        static SLIDING_TO_RIGHT: any;
        static DOUBLE_DOOR_SLIDING: any;
        static FOLDING_TO_LEFT: any;
        static FOLDING_TO_RIGHT: any;
        static DOUBLE_DOOR_FOLDING: any;
        static REVOLVING: any;
        static ROLLINGUP: any;
        static SWING_FIXED_LEFT: any;
        static SWING_FIXED_RIGHT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctFittingTypeEnum {
        static BEND: any;
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static JUNCTION: any;
        static OBSTRUCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctSegmentTypeEnum {
        static RIGIDSEGMENT: any;
        static FLEXIBLESEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctSilencerTypeEnum {
        static FLATOVAL: any;
        static RECTANGULAR: any;
        static ROUND: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricApplianceTypeEnum {
        static DISHWASHER: any;
        static ELECTRICCOOKER: any;
        static FREESTANDINGELECTRICHEATER: any;
        static FREESTANDINGFAN: any;
        static FREESTANDINGWATERHEATER: any;
        static FREESTANDINGWATERCOOLER: any;
        static FREEZER: any;
        static FRIDGE_FREEZER: any;
        static HANDDRYER: any;
        static KITCHENMACHINE: any;
        static MICROWAVE: any;
        static PHOTOCOPIER: any;
        static REFRIGERATOR: any;
        static TUMBLEDRYER: any;
        static VENDINGMACHINE: any;
        static WASHINGMACHINE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricDistributionBoardTypeEnum {
        static CONSUMERUNIT: any;
        static DISTRIBUTIONBOARD: any;
        static MOTORCONTROLCENTRE: any;
        static SWITCHBOARD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricFlowStorageDeviceTypeEnum {
        static BATTERY: any;
        static CAPACITORBANK: any;
        static HARMONICFILTER: any;
        static INDUCTORBANK: any;
        static UPS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricGeneratorTypeEnum {
        static CHP: any;
        static ENGINEGENERATOR: any;
        static STANDALONE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricMotorTypeEnum {
        static DC: any;
        static INDUCTION: any;
        static POLYPHASE: any;
        static RELUCTANCESYNCHRONOUS: any;
        static SYNCHRONOUS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricTimeControlTypeEnum {
        static TIMECLOCK: any;
        static TIMEDELAY: any;
        static RELAY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElementAssemblyTypeEnum {
        static ACCESSORY_ASSEMBLY: any;
        static ARCH: any;
        static BEAM_GRID: any;
        static BRACED_FRAME: any;
        static GIRDER: any;
        static REINFORCEMENT_UNIT: any;
        static RIGID_FRAME: any;
        static SLAB_FIELD: any;
        static TRUSS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElementCompositionEnum {
        static COMPLEX: any;
        static ELEMENT: any;
        static PARTIAL: any;
    }
    class IfcEngineTypeEnum {
        static EXTERNALCOMBUSTION: any;
        static INTERNALCOMBUSTION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEvaporativeCoolerTypeEnum {
        static DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER: any;
        static DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER: any;
        static DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER: any;
        static DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER: any;
        static DIRECTEVAPORATIVEAIRWASHER: any;
        static INDIRECTEVAPORATIVEPACKAGEAIRCOOLER: any;
        static INDIRECTEVAPORATIVEWETCOIL: any;
        static INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER: any;
        static INDIRECTDIRECTCOMBINATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEvaporatorTypeEnum {
        static DIRECTEXPANSION: any;
        static DIRECTEXPANSIONSHELLANDTUBE: any;
        static DIRECTEXPANSIONTUBEINTUBE: any;
        static DIRECTEXPANSIONBRAZEDPLATE: any;
        static FLOODEDSHELLANDTUBE: any;
        static SHELLANDCOIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEventTriggerTypeEnum {
        static EVENTRULE: any;
        static EVENTMESSAGE: any;
        static EVENTTIME: any;
        static EVENTCOMPLEX: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEventTypeEnum {
        static STARTEVENT: any;
        static ENDEVENT: any;
        static INTERMEDIATEEVENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcExternalSpatialElementTypeEnum {
        static EXTERNAL: any;
        static EXTERNAL_EARTH: any;
        static EXTERNAL_WATER: any;
        static EXTERNAL_FIRE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFanTypeEnum {
        static CENTRIFUGALFORWARDCURVED: any;
        static CENTRIFUGALRADIAL: any;
        static CENTRIFUGALBACKWARDINCLINEDCURVED: any;
        static CENTRIFUGALAIRFOIL: any;
        static TUBEAXIAL: any;
        static VANEAXIAL: any;
        static PROPELLORAXIAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFastenerTypeEnum {
        static GLUE: any;
        static MORTAR: any;
        static WELD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFilterTypeEnum {
        static AIRPARTICLEFILTER: any;
        static COMPRESSEDAIRFILTER: any;
        static ODORFILTER: any;
        static OILFILTER: any;
        static STRAINER: any;
        static WATERFILTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFireSuppressionTerminalTypeEnum {
        static BREECHINGINLET: any;
        static FIREHYDRANT: any;
        static HOSEREEL: any;
        static SPRINKLER: any;
        static SPRINKLERDEFLECTOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFlowDirectionEnum {
        static SOURCE: any;
        static SINK: any;
        static SOURCEANDSINK: any;
        static NOTDEFINED: any;
    }
    class IfcFlowInstrumentTypeEnum {
        static PRESSUREGAUGE: any;
        static THERMOMETER: any;
        static AMMETER: any;
        static FREQUENCYMETER: any;
        static POWERFACTORMETER: any;
        static PHASEANGLEMETER: any;
        static VOLTMETER_PEAK: any;
        static VOLTMETER_RMS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFlowMeterTypeEnum {
        static ENERGYMETER: any;
        static GASMETER: any;
        static OILMETER: any;
        static WATERMETER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFootingTypeEnum {
        static CAISSON_FOUNDATION: any;
        static FOOTING_BEAM: any;
        static PAD_FOOTING: any;
        static PILE_CAP: any;
        static STRIP_FOOTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFurnitureTypeEnum {
        static CHAIR: any;
        static TABLE: any;
        static DESK: any;
        static BED: any;
        static FILECABINET: any;
        static SHELF: any;
        static SOFA: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGeographicElementTypeEnum {
        static TERRAIN: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGeometricProjectionEnum {
        static GRAPH_VIEW: any;
        static SKETCH_VIEW: any;
        static MODEL_VIEW: any;
        static PLAN_VIEW: any;
        static REFLECTED_PLAN_VIEW: any;
        static SECTION_VIEW: any;
        static ELEVATION_VIEW: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGlobalOrLocalEnum {
        static GLOBAL_COORDS: any;
        static LOCAL_COORDS: any;
    }
    class IfcGridTypeEnum {
        static RECTANGULAR: any;
        static RADIAL: any;
        static TRIANGULAR: any;
        static IRREGULAR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcHeatExchangerTypeEnum {
        static PLATE: any;
        static SHELLANDTUBE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcHumidifierTypeEnum {
        static STEAMINJECTION: any;
        static ADIABATICAIRWASHER: any;
        static ADIABATICPAN: any;
        static ADIABATICWETTEDELEMENT: any;
        static ADIABATICATOMIZING: any;
        static ADIABATICULTRASONIC: any;
        static ADIABATICRIGIDMEDIA: any;
        static ADIABATICCOMPRESSEDAIRNOZZLE: any;
        static ASSISTEDELECTRIC: any;
        static ASSISTEDNATURALGAS: any;
        static ASSISTEDPROPANE: any;
        static ASSISTEDBUTANE: any;
        static ASSISTEDSTEAM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcInterceptorTypeEnum {
        static CYCLONIC: any;
        static GREASE: any;
        static OIL: any;
        static PETROL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcInternalOrExternalEnum {
        static INTERNAL: any;
        static EXTERNAL: any;
        static EXTERNAL_EARTH: any;
        static EXTERNAL_WATER: any;
        static EXTERNAL_FIRE: any;
        static NOTDEFINED: any;
    }
    class IfcInventoryTypeEnum {
        static ASSETINVENTORY: any;
        static SPACEINVENTORY: any;
        static FURNITUREINVENTORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcJunctionBoxTypeEnum {
        static DATA: any;
        static POWER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcKnotType {
        static UNIFORM_KNOTS: any;
        static QUASI_UNIFORM_KNOTS: any;
        static PIECEWISE_BEZIER_KNOTS: any;
        static UNSPECIFIED: any;
    }
    class IfcLaborResourceTypeEnum {
        static ADMINISTRATION: any;
        static CARPENTRY: any;
        static CLEANING: any;
        static CONCRETE: any;
        static DRYWALL: any;
        static ELECTRIC: any;
        static FINISHING: any;
        static FLOORING: any;
        static GENERAL: any;
        static HVAC: any;
        static LANDSCAPING: any;
        static MASONRY: any;
        static PAINTING: any;
        static PAVING: any;
        static PLUMBING: any;
        static ROOFING: any;
        static SITEGRADING: any;
        static STEELWORK: any;
        static SURVEYING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLampTypeEnum {
        static COMPACTFLUORESCENT: any;
        static FLUORESCENT: any;
        static HALOGEN: any;
        static HIGHPRESSUREMERCURY: any;
        static HIGHPRESSURESODIUM: any;
        static LED: any;
        static METALHALIDE: any;
        static OLED: any;
        static TUNGSTENFILAMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLayerSetDirectionEnum {
        static AXIS1: any;
        static AXIS2: any;
        static AXIS3: any;
    }
    class IfcLightDistributionCurveEnum {
        static TYPE_A: any;
        static TYPE_B: any;
        static TYPE_C: any;
        static NOTDEFINED: any;
    }
    class IfcLightEmissionSourceEnum {
        static COMPACTFLUORESCENT: any;
        static FLUORESCENT: any;
        static HIGHPRESSUREMERCURY: any;
        static HIGHPRESSURESODIUM: any;
        static LIGHTEMITTINGDIODE: any;
        static LOWPRESSURESODIUM: any;
        static LOWVOLTAGEHALOGEN: any;
        static MAINVOLTAGEHALOGEN: any;
        static METALHALIDE: any;
        static TUNGSTENFILAMENT: any;
        static NOTDEFINED: any;
    }
    class IfcLightFixtureTypeEnum {
        static POINTSOURCE: any;
        static DIRECTIONSOURCE: any;
        static SECURITYLIGHTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLoadGroupTypeEnum {
        static LOAD_GROUP: any;
        static LOAD_CASE: any;
        static LOAD_COMBINATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLogicalOperatorEnum {
        static LOGICALAND: any;
        static LOGICALOR: any;
        static LOGICALXOR: any;
        static LOGICALNOTAND: any;
        static LOGICALNOTOR: any;
    }
    class IfcMechanicalFastenerTypeEnum {
        static ANCHORBOLT: any;
        static BOLT: any;
        static DOWEL: any;
        static NAIL: any;
        static NAILPLATE: any;
        static RIVET: any;
        static SCREW: any;
        static SHEARCONNECTOR: any;
        static STAPLE: any;
        static STUDSHEARCONNECTOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMedicalDeviceTypeEnum {
        static AIRSTATION: any;
        static FEEDAIRUNIT: any;
        static OXYGENGENERATOR: any;
        static OXYGENPLANT: any;
        static VACUUMSTATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMemberTypeEnum {
        static BRACE: any;
        static CHORD: any;
        static COLLAR: any;
        static MEMBER: any;
        static MULLION: any;
        static PLATE: any;
        static POST: any;
        static PURLIN: any;
        static RAFTER: any;
        static STRINGER: any;
        static STRUT: any;
        static STUD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMotorConnectionTypeEnum {
        static BELTDRIVE: any;
        static COUPLING: any;
        static DIRECTDRIVE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcNullStyle {
        static NULL: any;
    }
    class IfcObjectTypeEnum {
        static PRODUCT: any;
        static PROCESS: any;
        static CONTROL: any;
        static RESOURCE: any;
        static ACTOR: any;
        static GROUP: any;
        static PROJECT: any;
        static NOTDEFINED: any;
    }
    class IfcObjectiveEnum {
        static CODECOMPLIANCE: any;
        static CODEWAIVER: any;
        static DESIGNINTENT: any;
        static EXTERNAL: any;
        static HEALTHANDSAFETY: any;
        static MERGECONFLICT: any;
        static MODELVIEW: any;
        static PARAMETER: any;
        static REQUIREMENT: any;
        static SPECIFICATION: any;
        static TRIGGERCONDITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOccupantTypeEnum {
        static ASSIGNEE: any;
        static ASSIGNOR: any;
        static LESSEE: any;
        static LESSOR: any;
        static LETTINGAGENT: any;
        static OWNER: any;
        static TENANT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOpeningElementTypeEnum {
        static OPENING: any;
        static RECESS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOutletTypeEnum {
        static AUDIOVISUALOUTLET: any;
        static COMMUNICATIONSOUTLET: any;
        static POWEROUTLET: any;
        static DATAOUTLET: any;
        static TELEPHONEOUTLET: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPerformanceHistoryTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPermeableCoveringOperationEnum {
        static GRILL: any;
        static LOUVER: any;
        static SCREEN: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPermitTypeEnum {
        static ACCESS: any;
        static BUILDING: any;
        static WORK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPhysicalOrVirtualEnum {
        static PHYSICAL: any;
        static VIRTUAL: any;
        static NOTDEFINED: any;
    }
    class IfcPileConstructionEnum {
        static CAST_IN_PLACE: any;
        static COMPOSITE: any;
        static PRECAST_CONCRETE: any;
        static PREFAB_STEEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPileTypeEnum {
        static BORED: any;
        static DRIVEN: any;
        static JETGROUTING: any;
        static COHESION: any;
        static FRICTION: any;
        static SUPPORT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPipeFittingTypeEnum {
        static BEND: any;
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static JUNCTION: any;
        static OBSTRUCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPipeSegmentTypeEnum {
        static CULVERT: any;
        static FLEXIBLESEGMENT: any;
        static RIGIDSEGMENT: any;
        static GUTTER: any;
        static SPOOL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPlateTypeEnum {
        static CURTAIN_PANEL: any;
        static SHEET: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPreferredSurfaceCurveRepresentation {
        static CURVE3D: any;
        static PCURVE_S1: any;
        static PCURVE_S2: any;
    }
    class IfcProcedureTypeEnum {
        static ADVICE_CAUTION: any;
        static ADVICE_NOTE: any;
        static ADVICE_WARNING: any;
        static CALIBRATION: any;
        static DIAGNOSTIC: any;
        static SHUTDOWN: any;
        static STARTUP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProfileTypeEnum {
        static CURVE: any;
        static AREA: any;
    }
    class IfcProjectOrderTypeEnum {
        static CHANGEORDER: any;
        static MAINTENANCEWORKORDER: any;
        static MOVEORDER: any;
        static PURCHASEORDER: any;
        static WORKORDER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProjectedOrTrueLengthEnum {
        static PROJECTED_LENGTH: any;
        static TRUE_LENGTH: any;
    }
    class IfcProjectionElementTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPropertySetTemplateTypeEnum {
        static PSET_TYPEDRIVENONLY: any;
        static PSET_TYPEDRIVENOVERRIDE: any;
        static PSET_OCCURRENCEDRIVEN: any;
        static PSET_PERFORMANCEDRIVEN: any;
        static QTO_TYPEDRIVENONLY: any;
        static QTO_TYPEDRIVENOVERRIDE: any;
        static QTO_OCCURRENCEDRIVEN: any;
        static NOTDEFINED: any;
    }
    class IfcProtectiveDeviceTrippingUnitTypeEnum {
        static ELECTRONIC: any;
        static ELECTROMAGNETIC: any;
        static RESIDUALCURRENT: any;
        static THERMAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProtectiveDeviceTypeEnum {
        static CIRCUITBREAKER: any;
        static EARTHLEAKAGECIRCUITBREAKER: any;
        static EARTHINGSWITCH: any;
        static FUSEDISCONNECTOR: any;
        static RESIDUALCURRENTCIRCUITBREAKER: any;
        static RESIDUALCURRENTSWITCH: any;
        static VARISTOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPumpTypeEnum {
        static CIRCULATOR: any;
        static ENDSUCTION: any;
        static SPLITCASE: any;
        static SUBMERSIBLEPUMP: any;
        static SUMPPUMP: any;
        static VERTICALINLINE: any;
        static VERTICALTURBINE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRailingTypeEnum {
        static HANDRAIL: any;
        static GUARDRAIL: any;
        static BALUSTRADE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRampFlightTypeEnum {
        static STRAIGHT: any;
        static SPIRAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRampTypeEnum {
        static STRAIGHT_RUN_RAMP: any;
        static TWO_STRAIGHT_RUN_RAMP: any;
        static QUARTER_TURN_RAMP: any;
        static TWO_QUARTER_TURN_RAMP: any;
        static HALF_TURN_RAMP: any;
        static SPIRAL_RAMP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRecurrenceTypeEnum {
        static DAILY: any;
        static WEEKLY: any;
        static MONTHLY_BY_DAY_OF_MONTH: any;
        static MONTHLY_BY_POSITION: any;
        static BY_DAY_COUNT: any;
        static BY_WEEKDAY_COUNT: any;
        static YEARLY_BY_DAY_OF_MONTH: any;
        static YEARLY_BY_POSITION: any;
    }
    class IfcReflectanceMethodEnum {
        static BLINN: any;
        static FLAT: any;
        static GLASS: any;
        static MATT: any;
        static METAL: any;
        static MIRROR: any;
        static PHONG: any;
        static PLASTIC: any;
        static STRAUSS: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingBarRoleEnum {
        static MAIN: any;
        static SHEAR: any;
        static LIGATURE: any;
        static STUD: any;
        static PUNCHING: any;
        static EDGE: any;
        static RING: any;
        static ANCHORING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingBarSurfaceEnum {
        static PLAIN: any;
        static TEXTURED: any;
    }
    class IfcReinforcingBarTypeEnum {
        static ANCHORING: any;
        static EDGE: any;
        static LIGATURE: any;
        static MAIN: any;
        static PUNCHING: any;
        static RING: any;
        static SHEAR: any;
        static STUD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingMeshTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRoleEnum {
        static SUPPLIER: any;
        static MANUFACTURER: any;
        static CONTRACTOR: any;
        static SUBCONTRACTOR: any;
        static ARCHITECT: any;
        static STRUCTURALENGINEER: any;
        static COSTENGINEER: any;
        static CLIENT: any;
        static BUILDINGOWNER: any;
        static BUILDINGOPERATOR: any;
        static MECHANICALENGINEER: any;
        static ELECTRICALENGINEER: any;
        static PROJECTMANAGER: any;
        static FACILITIESMANAGER: any;
        static CIVILENGINEER: any;
        static COMMISSIONINGENGINEER: any;
        static ENGINEER: any;
        static OWNER: any;
        static CONSULTANT: any;
        static CONSTRUCTIONMANAGER: any;
        static FIELDCONSTRUCTIONMANAGER: any;
        static RESELLER: any;
        static USERDEFINED: any;
    }
    class IfcRoofTypeEnum {
        static FLAT_ROOF: any;
        static SHED_ROOF: any;
        static GABLE_ROOF: any;
        static HIP_ROOF: any;
        static HIPPED_GABLE_ROOF: any;
        static GAMBREL_ROOF: any;
        static MANSARD_ROOF: any;
        static BARREL_ROOF: any;
        static RAINBOW_ROOF: any;
        static BUTTERFLY_ROOF: any;
        static PAVILION_ROOF: any;
        static DOME_ROOF: any;
        static FREEFORM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSIPrefix {
        static EXA: any;
        static PETA: any;
        static TERA: any;
        static GIGA: any;
        static MEGA: any;
        static KILO: any;
        static HECTO: any;
        static DECA: any;
        static DECI: any;
        static CENTI: any;
        static MILLI: any;
        static MICRO: any;
        static NANO: any;
        static PICO: any;
        static FEMTO: any;
        static ATTO: any;
    }
    class IfcSIUnitName {
        static AMPERE: any;
        static BECQUEREL: any;
        static CANDELA: any;
        static COULOMB: any;
        static CUBIC_METRE: any;
        static DEGREE_CELSIUS: any;
        static FARAD: any;
        static GRAM: any;
        static GRAY: any;
        static HENRY: any;
        static HERTZ: any;
        static JOULE: any;
        static KELVIN: any;
        static LUMEN: any;
        static LUX: any;
        static METRE: any;
        static MOLE: any;
        static NEWTON: any;
        static OHM: any;
        static PASCAL: any;
        static RADIAN: any;
        static SECOND: any;
        static SIEMENS: any;
        static SIEVERT: any;
        static SQUARE_METRE: any;
        static STERADIAN: any;
        static TESLA: any;
        static VOLT: any;
        static WATT: any;
        static WEBER: any;
    }
    class IfcSanitaryTerminalTypeEnum {
        static BATH: any;
        static BIDET: any;
        static CISTERN: any;
        static SHOWER: any;
        static SINK: any;
        static SANITARYFOUNTAIN: any;
        static TOILETPAN: any;
        static URINAL: any;
        static WASHHANDBASIN: any;
        static WCSEAT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSectionTypeEnum {
        static UNIFORM: any;
        static TAPERED: any;
    }
    class IfcSensorTypeEnum {
        static COSENSOR: any;
        static CO2SENSOR: any;
        static CONDUCTANCESENSOR: any;
        static CONTACTSENSOR: any;
        static FIRESENSOR: any;
        static FLOWSENSOR: any;
        static FROSTSENSOR: any;
        static GASSENSOR: any;
        static HEATSENSOR: any;
        static HUMIDITYSENSOR: any;
        static IDENTIFIERSENSOR: any;
        static IONCONCENTRATIONSENSOR: any;
        static LEVELSENSOR: any;
        static LIGHTSENSOR: any;
        static MOISTURESENSOR: any;
        static MOVEMENTSENSOR: any;
        static PHSENSOR: any;
        static PRESSURESENSOR: any;
        static RADIATIONSENSOR: any;
        static RADIOACTIVITYSENSOR: any;
        static SMOKESENSOR: any;
        static SOUNDSENSOR: any;
        static TEMPERATURESENSOR: any;
        static WINDSENSOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSequenceEnum {
        static START_START: any;
        static START_FINISH: any;
        static FINISH_START: any;
        static FINISH_FINISH: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcShadingDeviceTypeEnum {
        static JALOUSIE: any;
        static SHUTTER: any;
        static AWNING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSimplePropertyTemplateTypeEnum {
        static P_SINGLEVALUE: any;
        static P_ENUMERATEDVALUE: any;
        static P_BOUNDEDVALUE: any;
        static P_LISTVALUE: any;
        static P_TABLEVALUE: any;
        static P_REFERENCEVALUE: any;
        static Q_LENGTH: any;
        static Q_AREA: any;
        static Q_VOLUME: any;
        static Q_COUNT: any;
        static Q_WEIGHT: any;
        static Q_TIME: any;
    }
    class IfcSlabTypeEnum {
        static FLOOR: any;
        static ROOF: any;
        static LANDING: any;
        static BASESLAB: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSolarDeviceTypeEnum {
        static SOLARCOLLECTOR: any;
        static SOLARPANEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpaceHeaterTypeEnum {
        static CONVECTOR: any;
        static RADIATOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpaceTypeEnum {
        static SPACE: any;
        static PARKING: any;
        static GFA: any;
        static INTERNAL: any;
        static EXTERNAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpatialZoneTypeEnum {
        static CONSTRUCTION: any;
        static FIRESAFETY: any;
        static LIGHTING: any;
        static OCCUPANCY: any;
        static SECURITY: any;
        static THERMAL: any;
        static TRANSPORT: any;
        static VENTILATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStackTerminalTypeEnum {
        static BIRDCAGE: any;
        static COWL: any;
        static RAINWATERHOPPER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStairFlightTypeEnum {
        static STRAIGHT: any;
        static WINDER: any;
        static SPIRAL: any;
        static CURVED: any;
        static FREEFORM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStairTypeEnum {
        static STRAIGHT_RUN_STAIR: any;
        static TWO_STRAIGHT_RUN_STAIR: any;
        static QUARTER_WINDING_STAIR: any;
        static QUARTER_TURN_STAIR: any;
        static HALF_WINDING_STAIR: any;
        static HALF_TURN_STAIR: any;
        static TWO_QUARTER_WINDING_STAIR: any;
        static TWO_QUARTER_TURN_STAIR: any;
        static THREE_QUARTER_WINDING_STAIR: any;
        static THREE_QUARTER_TURN_STAIR: any;
        static SPIRAL_STAIR: any;
        static DOUBLE_RETURN_STAIR: any;
        static CURVED_RUN_STAIR: any;
        static TWO_CURVED_RUN_STAIR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStateEnum {
        static READWRITE: any;
        static READONLY: any;
        static LOCKED: any;
        static READWRITELOCKED: any;
        static READONLYLOCKED: any;
    }
    class IfcStructuralCurveActivityTypeEnum {
        static CONST: any;
        static LINEAR: any;
        static POLYGONAL: any;
        static EQUIDISTANT: any;
        static SINUS: any;
        static PARABOLA: any;
        static DISCRETE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStructuralCurveMemberTypeEnum {
        static RIGID_JOINED_MEMBER: any;
        static PIN_JOINED_MEMBER: any;
        static CABLE: any;
        static TENSION_MEMBER: any;
        static COMPRESSION_MEMBER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStructuralSurfaceActivityTypeEnum {
        static CONST: any;
        static BILINEAR: any;
        static DISCRETE: any;
        static ISOCONTOUR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStructuralSurfaceMemberTypeEnum {
        static BENDING_ELEMENT: any;
        static MEMBRANE_ELEMENT: any;
        static SHELL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSubContractResourceTypeEnum {
        static PURCHASE: any;
        static WORK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSurfaceFeatureTypeEnum {
        static MARK: any;
        static TAG: any;
        static TREATMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSurfaceSide {
        static POSITIVE: any;
        static NEGATIVE: any;
        static BOTH: any;
    }
    class IfcSwitchingDeviceTypeEnum {
        static CONTACTOR: any;
        static DIMMERSWITCH: any;
        static EMERGENCYSTOP: any;
        static KEYPAD: any;
        static MOMENTARYSWITCH: any;
        static SELECTORSWITCH: any;
        static STARTER: any;
        static SWITCHDISCONNECTOR: any;
        static TOGGLESWITCH: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSystemFurnitureElementTypeEnum {
        static PANEL: any;
        static WORKSURFACE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTankTypeEnum {
        static BASIN: any;
        static BREAKPRESSURE: any;
        static EXPANSION: any;
        static FEEDANDEXPANSION: any;
        static PRESSUREVESSEL: any;
        static STORAGE: any;
        static VESSEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTaskDurationEnum {
        static ELAPSEDTIME: any;
        static WORKTIME: any;
        static NOTDEFINED: any;
    }
    class IfcTaskTypeEnum {
        static ATTENDANCE: any;
        static CONSTRUCTION: any;
        static DEMOLITION: any;
        static DISMANTLE: any;
        static DISPOSAL: any;
        static INSTALLATION: any;
        static LOGISTIC: any;
        static MAINTENANCE: any;
        static MOVE: any;
        static OPERATION: any;
        static REMOVAL: any;
        static RENOVATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTendonAnchorTypeEnum {
        static COUPLER: any;
        static FIXED_END: any;
        static TENSIONING_END: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTendonTypeEnum {
        static BAR: any;
        static COATED: any;
        static STRAND: any;
        static WIRE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTextPath {
        static LEFT: any;
        static RIGHT: any;
        static UP: any;
        static DOWN: any;
    }
    class IfcTimeSeriesDataTypeEnum {
        static CONTINUOUS: any;
        static DISCRETE: any;
        static DISCRETEBINARY: any;
        static PIECEWISEBINARY: any;
        static PIECEWISECONSTANT: any;
        static PIECEWISECONTINUOUS: any;
        static NOTDEFINED: any;
    }
    class IfcTransformerTypeEnum {
        static CURRENT: any;
        static FREQUENCY: any;
        static INVERTER: any;
        static RECTIFIER: any;
        static VOLTAGE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTransitionCode {
        static DISCONTINUOUS: any;
        static CONTINUOUS: any;
        static CONTSAMEGRADIENT: any;
        static CONTSAMEGRADIENTSAMECURVATURE: any;
    }
    class IfcTransportElementTypeEnum {
        static ELEVATOR: any;
        static ESCALATOR: any;
        static MOVINGWALKWAY: any;
        static CRANEWAY: any;
        static LIFTINGGEAR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTrimmingPreference {
        static CARTESIAN: any;
        static PARAMETER: any;
        static UNSPECIFIED: any;
    }
    class IfcTubeBundleTypeEnum {
        static FINNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcUnitEnum {
        static ABSORBEDDOSEUNIT: any;
        static AMOUNTOFSUBSTANCEUNIT: any;
        static AREAUNIT: any;
        static DOSEEQUIVALENTUNIT: any;
        static ELECTRICCAPACITANCEUNIT: any;
        static ELECTRICCHARGEUNIT: any;
        static ELECTRICCONDUCTANCEUNIT: any;
        static ELECTRICCURRENTUNIT: any;
        static ELECTRICRESISTANCEUNIT: any;
        static ELECTRICVOLTAGEUNIT: any;
        static ENERGYUNIT: any;
        static FORCEUNIT: any;
        static FREQUENCYUNIT: any;
        static ILLUMINANCEUNIT: any;
        static INDUCTANCEUNIT: any;
        static LENGTHUNIT: any;
        static LUMINOUSFLUXUNIT: any;
        static LUMINOUSINTENSITYUNIT: any;
        static MAGNETICFLUXDENSITYUNIT: any;
        static MAGNETICFLUXUNIT: any;
        static MASSUNIT: any;
        static PLANEANGLEUNIT: any;
        static POWERUNIT: any;
        static PRESSUREUNIT: any;
        static RADIOACTIVITYUNIT: any;
        static SOLIDANGLEUNIT: any;
        static THERMODYNAMICTEMPERATUREUNIT: any;
        static TIMEUNIT: any;
        static VOLUMEUNIT: any;
        static USERDEFINED: any;
    }
    class IfcUnitaryControlElementTypeEnum {
        static ALARMPANEL: any;
        static CONTROLPANEL: any;
        static GASDETECTIONPANEL: any;
        static INDICATORPANEL: any;
        static MIMICPANEL: any;
        static HUMIDISTAT: any;
        static THERMOSTAT: any;
        static WEATHERSTATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcUnitaryEquipmentTypeEnum {
        static AIRHANDLER: any;
        static AIRCONDITIONINGUNIT: any;
        static DEHUMIDIFIER: any;
        static SPLITSYSTEM: any;
        static ROOFTOPUNIT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcValveTypeEnum {
        static AIRRELEASE: any;
        static ANTIVACUUM: any;
        static CHANGEOVER: any;
        static CHECK: any;
        static COMMISSIONING: any;
        static DIVERTING: any;
        static DRAWOFFCOCK: any;
        static DOUBLECHECK: any;
        static DOUBLEREGULATING: any;
        static FAUCET: any;
        static FLUSHING: any;
        static GASCOCK: any;
        static GASTAP: any;
        static ISOLATING: any;
        static MIXING: any;
        static PRESSUREREDUCING: any;
        static PRESSURERELIEF: any;
        static REGULATING: any;
        static SAFETYCUTOFF: any;
        static STEAMTRAP: any;
        static STOPCOCK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVibrationIsolatorTypeEnum {
        static COMPRESSION: any;
        static SPRING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVoidingFeatureTypeEnum {
        static CUTOUT: any;
        static NOTCH: any;
        static HOLE: any;
        static MITER: any;
        static CHAMFER: any;
        static EDGE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWallTypeEnum {
        static MOVABLE: any;
        static PARAPET: any;
        static PARTITIONING: any;
        static PLUMBINGWALL: any;
        static SHEAR: any;
        static SOLIDWALL: any;
        static STANDARD: any;
        static POLYGONAL: any;
        static ELEMENTEDWALL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWasteTerminalTypeEnum {
        static FLOORTRAP: any;
        static FLOORWASTE: any;
        static GULLYSUMP: any;
        static GULLYTRAP: any;
        static ROOFDRAIN: any;
        static WASTEDISPOSALUNIT: any;
        static WASTETRAP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWindowPanelOperationEnum {
        static SIDEHUNGRIGHTHAND: any;
        static SIDEHUNGLEFTHAND: any;
        static TILTANDTURNRIGHTHAND: any;
        static TILTANDTURNLEFTHAND: any;
        static TOPHUNG: any;
        static BOTTOMHUNG: any;
        static PIVOTHORIZONTAL: any;
        static PIVOTVERTICAL: any;
        static SLIDINGHORIZONTAL: any;
        static SLIDINGVERTICAL: any;
        static REMOVABLECASEMENT: any;
        static FIXEDCASEMENT: any;
        static OTHEROPERATION: any;
        static NOTDEFINED: any;
    }
    class IfcWindowPanelPositionEnum {
        static LEFT: any;
        static MIDDLE: any;
        static RIGHT: any;
        static BOTTOM: any;
        static TOP: any;
        static NOTDEFINED: any;
    }
    class IfcWindowStyleConstructionEnum {
        static ALUMINIUM: any;
        static HIGH_GRADE_STEEL: any;
        static STEEL: any;
        static WOOD: any;
        static ALUMINIUM_WOOD: any;
        static PLASTIC: any;
        static OTHER_CONSTRUCTION: any;
        static NOTDEFINED: any;
    }
    class IfcWindowStyleOperationEnum {
        static SINGLE_PANEL: any;
        static DOUBLE_PANEL_VERTICAL: any;
        static DOUBLE_PANEL_HORIZONTAL: any;
        static TRIPLE_PANEL_VERTICAL: any;
        static TRIPLE_PANEL_BOTTOM: any;
        static TRIPLE_PANEL_TOP: any;
        static TRIPLE_PANEL_LEFT: any;
        static TRIPLE_PANEL_RIGHT: any;
        static TRIPLE_PANEL_HORIZONTAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWindowTypeEnum {
        static WINDOW: any;
        static SKYLIGHT: any;
        static LIGHTDOME: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWindowTypePartitioningEnum {
        static SINGLE_PANEL: any;
        static DOUBLE_PANEL_VERTICAL: any;
        static DOUBLE_PANEL_HORIZONTAL: any;
        static TRIPLE_PANEL_VERTICAL: any;
        static TRIPLE_PANEL_BOTTOM: any;
        static TRIPLE_PANEL_TOP: any;
        static TRIPLE_PANEL_LEFT: any;
        static TRIPLE_PANEL_RIGHT: any;
        static TRIPLE_PANEL_HORIZONTAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWorkCalendarTypeEnum {
        static FIRSTSHIFT: any;
        static SECONDSHIFT: any;
        static THIRDSHIFT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWorkPlanTypeEnum {
        static ACTUAL: any;
        static BASELINE: any;
        static PLANNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWorkScheduleTypeEnum {
        static ACTUAL: any;
        static BASELINE: any;
        static PLANNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    type IfcActorSelect = (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization);
    type IfcAppliedValueSelect = (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | (Handle<IfcReference> | IfcReference) | IfcValue;
    type IfcAxis2Placement = (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
    type IfcBendingParameterSelect = IfcLengthMeasure | IfcPlaneAngleMeasure;
    type IfcBooleanOperand = (Handle<IfcBooleanResult> | IfcBooleanResult) | (Handle<IfcCsgPrimitive3D> | IfcCsgPrimitive3D) | (Handle<IfcHalfSpaceSolid> | IfcHalfSpaceSolid) | (Handle<IfcSolidModel> | IfcSolidModel) | (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
    type IfcClassificationReferenceSelect = (Handle<IfcClassification> | IfcClassification) | (Handle<IfcClassificationReference> | IfcClassificationReference);
    type IfcClassificationSelect = (Handle<IfcClassification> | IfcClassification) | (Handle<IfcClassificationReference> | IfcClassificationReference);
    type IfcColour = (Handle<IfcColourSpecification> | IfcColourSpecification) | (Handle<IfcPreDefinedColour> | IfcPreDefinedColour);
    type IfcColourOrFactor = (Handle<IfcColourRgb> | IfcColourRgb) | IfcNormalisedRatioMeasure;
    type IfcCoordinateReferenceSystemSelect = (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem) | (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext);
    type IfcCsgSelect = (Handle<IfcBooleanResult> | IfcBooleanResult) | (Handle<IfcCsgPrimitive3D> | IfcCsgPrimitive3D);
    type IfcCurveFontOrScaledCurveFontSelect = (Handle<IfcCurveStyleFontAndScaling> | IfcCurveStyleFontAndScaling) | IfcCurveStyleFontSelect;
    type IfcCurveOnSurface = (Handle<IfcCompositeCurveOnSurface> | IfcCompositeCurveOnSurface) | (Handle<IfcPcurve> | IfcPcurve) | (Handle<IfcSurfaceCurve> | IfcSurfaceCurve);
    type IfcCurveOrEdgeCurve = (Handle<IfcBoundedCurve> | IfcBoundedCurve) | (Handle<IfcEdgeCurve> | IfcEdgeCurve);
    type IfcCurveStyleFontSelect = (Handle<IfcCurveStyleFont> | IfcCurveStyleFont) | (Handle<IfcPreDefinedCurveFont> | IfcPreDefinedCurveFont);
    type IfcDefinitionSelect = (Handle<IfcObjectDefinition> | IfcObjectDefinition) | (Handle<IfcPropertyDefinition> | IfcPropertyDefinition);
    type IfcDerivedMeasureValue = IfcAbsorbedDoseMeasure | IfcAccelerationMeasure | IfcAngularVelocityMeasure | IfcAreaDensityMeasure | IfcCompoundPlaneAngleMeasure | IfcCurvatureMeasure | IfcDoseEquivalentMeasure | IfcDynamicViscosityMeasure | IfcElectricCapacitanceMeasure | IfcElectricChargeMeasure | IfcElectricConductanceMeasure | IfcElectricResistanceMeasure | IfcElectricVoltageMeasure | IfcEnergyMeasure | IfcForceMeasure | IfcFrequencyMeasure | IfcHeatFluxDensityMeasure | IfcHeatingValueMeasure | IfcIlluminanceMeasure | IfcInductanceMeasure | IfcIntegerCountRateMeasure | IfcIonConcentrationMeasure | IfcIsothermalMoistureCapacityMeasure | IfcKinematicViscosityMeasure | IfcLinearForceMeasure | IfcLinearMomentMeasure | IfcLinearStiffnessMeasure | IfcLinearVelocityMeasure | IfcLuminousFluxMeasure | IfcLuminousIntensityDistributionMeasure | IfcMagneticFluxDensityMeasure | IfcMagneticFluxMeasure | IfcMassDensityMeasure | IfcMassFlowRateMeasure | IfcMassPerLengthMeasure | IfcModulusOfElasticityMeasure | IfcModulusOfLinearSubgradeReactionMeasure | IfcModulusOfRotationalSubgradeReactionMeasure | IfcModulusOfSubgradeReactionMeasure | IfcMoistureDiffusivityMeasure | IfcMolecularWeightMeasure | IfcMomentOfInertiaMeasure | IfcMonetaryMeasure | IfcPHMeasure | IfcPlanarForceMeasure | IfcPowerMeasure | IfcPressureMeasure | IfcRadioActivityMeasure | IfcRotationalFrequencyMeasure | IfcRotationalMassMeasure | IfcRotationalStiffnessMeasure | IfcSectionModulusMeasure | IfcSectionalAreaIntegralMeasure | IfcShearModulusMeasure | IfcSoundPowerLevelMeasure | IfcSoundPowerMeasure | IfcSoundPressureLevelMeasure | IfcSoundPressureMeasure | IfcSpecificHeatCapacityMeasure | IfcTemperatureGradientMeasure | IfcTemperatureRateOfChangeMeasure | IfcThermalAdmittanceMeasure | IfcThermalConductivityMeasure | IfcThermalExpansionCoefficientMeasure | IfcThermalResistanceMeasure | IfcThermalTransmittanceMeasure | IfcTorqueMeasure | IfcVaporPermeabilityMeasure | IfcVolumetricFlowRateMeasure | IfcWarpingConstantMeasure | IfcWarpingMomentMeasure;
    type IfcDocumentSelect = (Handle<IfcDocumentInformation> | IfcDocumentInformation) | (Handle<IfcDocumentReference> | IfcDocumentReference);
    type IfcFillStyleSelect = IfcColour | (Handle<IfcExternallyDefinedHatchStyle> | IfcExternallyDefinedHatchStyle) | (Handle<IfcFillAreaStyleHatching> | IfcFillAreaStyleHatching) | (Handle<IfcFillAreaStyleTiles> | IfcFillAreaStyleTiles);
    type IfcGeometricSetSelect = (Handle<IfcCurve> | IfcCurve) | (Handle<IfcPoint> | IfcPoint) | (Handle<IfcSurface> | IfcSurface);
    type IfcGridPlacementDirectionSelect = (Handle<IfcDirection> | IfcDirection) | (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection);
    type IfcHatchLineDistanceSelect = IfcPositiveLengthMeasure | (Handle<IfcVector> | IfcVector);
    type IfcLayeredItem = (Handle<IfcRepresentation> | IfcRepresentation) | (Handle<IfcRepresentationItem> | IfcRepresentationItem);
    type IfcLibrarySelect = (Handle<IfcLibraryInformation> | IfcLibraryInformation) | (Handle<IfcLibraryReference> | IfcLibraryReference);
    type IfcLightDistributionDataSourceSelect = (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcLightIntensityDistribution> | IfcLightIntensityDistribution);
    type IfcMaterialSelect = (Handle<IfcMaterialDefinition> | IfcMaterialDefinition) | (Handle<IfcMaterialList> | IfcMaterialList) | (Handle<IfcMaterialUsageDefinition> | IfcMaterialUsageDefinition);
    type IfcMeasureValue = IfcAmountOfSubstanceMeasure | IfcAreaMeasure | IfcComplexNumber | IfcContextDependentMeasure | IfcCountMeasure | IfcDescriptiveMeasure | IfcElectricCurrentMeasure | IfcLengthMeasure | IfcLuminousIntensityMeasure | IfcMassMeasure | IfcNonNegativeLengthMeasure | IfcNormalisedRatioMeasure | IfcNumericMeasure | IfcParameterValue | IfcPlaneAngleMeasure | IfcPositiveLengthMeasure | IfcPositivePlaneAngleMeasure | IfcPositiveRatioMeasure | IfcRatioMeasure | IfcSolidAngleMeasure | IfcThermodynamicTemperatureMeasure | IfcTimeMeasure | IfcVolumeMeasure;
    type IfcMetricValueSelect = (Handle<IfcAppliedValue> | IfcAppliedValue) | (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | (Handle<IfcReference> | IfcReference) | (Handle<IfcTable> | IfcTable) | (Handle<IfcTimeSeries> | IfcTimeSeries) | IfcValue;
    type IfcModulusOfRotationalSubgradeReactionSelect = IfcBoolean | IfcModulusOfRotationalSubgradeReactionMeasure;
    type IfcModulusOfSubgradeReactionSelect = IfcBoolean | IfcModulusOfSubgradeReactionMeasure;
    type IfcModulusOfTranslationalSubgradeReactionSelect = IfcBoolean | IfcModulusOfLinearSubgradeReactionMeasure;
    type IfcObjectReferenceSelect = (Handle<IfcAddress> | IfcAddress) | (Handle<IfcAppliedValue> | IfcAppliedValue) | (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcMaterialDefinition> | IfcMaterialDefinition) | (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | (Handle<IfcTable> | IfcTable) | (Handle<IfcTimeSeries> | IfcTimeSeries);
    type IfcPointOrVertexPoint = (Handle<IfcPoint> | IfcPoint) | (Handle<IfcVertexPoint> | IfcVertexPoint);
    type IfcPresentationStyleSelect = (Handle<IfcCurveStyle> | IfcCurveStyle) | (Handle<IfcFillAreaStyle> | IfcFillAreaStyle) | IfcNullStyle | (Handle<IfcSurfaceStyle> | IfcSurfaceStyle) | (Handle<IfcTextStyle> | IfcTextStyle);
    type IfcProcessSelect = (Handle<IfcProcess> | IfcProcess) | (Handle<IfcTypeProcess> | IfcTypeProcess);
    type IfcProductRepresentationSelect = (Handle<IfcProductDefinitionShape> | IfcProductDefinitionShape) | (Handle<IfcRepresentationMap> | IfcRepresentationMap);
    type IfcProductSelect = (Handle<IfcProduct> | IfcProduct) | (Handle<IfcTypeProduct> | IfcTypeProduct);
    type IfcPropertySetDefinitionSelect = (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition) | IfcPropertySetDefinitionSet;
    type IfcResourceObjectSelect = (Handle<IfcActorRole> | IfcActorRole) | (Handle<IfcAppliedValue> | IfcAppliedValue) | (Handle<IfcApproval> | IfcApproval) | (Handle<IfcConstraint> | IfcConstraint) | (Handle<IfcContextDependentUnit> | IfcContextDependentUnit) | (Handle<IfcConversionBasedUnit> | IfcConversionBasedUnit) | (Handle<IfcExternalInformation> | IfcExternalInformation) | (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcMaterialDefinition> | IfcMaterialDefinition) | (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | (Handle<IfcProfileDef> | IfcProfileDef) | (Handle<IfcPropertyAbstraction> | IfcPropertyAbstraction) | (Handle<IfcTimeSeries> | IfcTimeSeries);
    type IfcResourceSelect = (Handle<IfcResource> | IfcResource) | (Handle<IfcTypeResource> | IfcTypeResource);
    type IfcRotationalStiffnessSelect = IfcBoolean | IfcRotationalStiffnessMeasure;
    type IfcSegmentIndexSelect = IfcArcIndex | IfcLineIndex;
    type IfcShell = (Handle<IfcClosedShell> | IfcClosedShell) | (Handle<IfcOpenShell> | IfcOpenShell);
    type IfcSimpleValue = IfcBinary | IfcBoolean | IfcDate | IfcDateTime | IfcDuration | IfcIdentifier | IfcInteger | IfcLabel | IfcLogical | IfcPositiveInteger | IfcReal | IfcText | IfcTime | IfcTimeStamp;
    type IfcSizeSelect = IfcDescriptiveMeasure | IfcLengthMeasure | IfcNormalisedRatioMeasure | IfcPositiveLengthMeasure | IfcPositiveRatioMeasure | IfcRatioMeasure;
    type IfcSolidOrShell = (Handle<IfcClosedShell> | IfcClosedShell) | (Handle<IfcSolidModel> | IfcSolidModel);
    type IfcSpaceBoundarySelect = (Handle<IfcExternalSpatialElement> | IfcExternalSpatialElement) | (Handle<IfcSpace> | IfcSpace);
    type IfcSpecularHighlightSelect = IfcSpecularExponent | IfcSpecularRoughness;
    type IfcStructuralActivityAssignmentSelect = (Handle<IfcElement> | IfcElement) | (Handle<IfcStructuralItem> | IfcStructuralItem);
    type IfcStyleAssignmentSelect = (Handle<IfcPresentationStyle> | IfcPresentationStyle) | (Handle<IfcPresentationStyleAssignment> | IfcPresentationStyleAssignment);
    type IfcSurfaceOrFaceSurface = (Handle<IfcFaceBasedSurfaceModel> | IfcFaceBasedSurfaceModel) | (Handle<IfcFaceSurface> | IfcFaceSurface) | (Handle<IfcSurface> | IfcSurface);
    type IfcSurfaceStyleElementSelect = (Handle<IfcExternallyDefinedSurfaceStyle> | IfcExternallyDefinedSurfaceStyle) | (Handle<IfcSurfaceStyleLighting> | IfcSurfaceStyleLighting) | (Handle<IfcSurfaceStyleRefraction> | IfcSurfaceStyleRefraction) | (Handle<IfcSurfaceStyleShading> | IfcSurfaceStyleShading) | (Handle<IfcSurfaceStyleWithTextures> | IfcSurfaceStyleWithTextures);
    type IfcTextFontSelect = (Handle<IfcExternallyDefinedTextFont> | IfcExternallyDefinedTextFont) | (Handle<IfcPreDefinedTextFont> | IfcPreDefinedTextFont);
    type IfcTimeOrRatioSelect = IfcDuration | IfcRatioMeasure;
    type IfcTranslationalStiffnessSelect = IfcBoolean | IfcLinearStiffnessMeasure;
    type IfcTrimmingSelect = (Handle<IfcCartesianPoint> | IfcCartesianPoint) | IfcParameterValue;
    type IfcUnit = (Handle<IfcDerivedUnit> | IfcDerivedUnit) | (Handle<IfcMonetaryUnit> | IfcMonetaryUnit) | (Handle<IfcNamedUnit> | IfcNamedUnit);
    type IfcValue = IfcDerivedMeasureValue | IfcMeasureValue | IfcSimpleValue;
    type IfcVectorOrDirection = (Handle<IfcDirection> | IfcDirection) | (Handle<IfcVector> | IfcVector);
    type IfcWarpingStiffnessSelect = IfcBoolean | IfcWarpingMomentMeasure;
    class IfcActorRole extends IfcLineObject {
        Role: IfcRoleEnum;
        UserDefinedRole: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Role: IfcRoleEnum, UserDefinedRole: IfcLabel | null, Description: IfcText | null);
    }
    class IfcAddress extends IfcLineObject {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        type: number;
        OfPerson: (Handle<IfcPerson> | IfcPerson)[] | null;
        OfOrganization: (Handle<IfcOrganization> | IfcOrganization)[] | null;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null);
    }
    class IfcApplication extends IfcLineObject {
        ApplicationDeveloper: (Handle<IfcOrganization> | IfcOrganization);
        Version: IfcLabel;
        ApplicationFullName: IfcLabel;
        ApplicationIdentifier: IfcIdentifier;
        type: number;
        constructor(ApplicationDeveloper: (Handle<IfcOrganization> | IfcOrganization), Version: IfcLabel, ApplicationFullName: IfcLabel, ApplicationIdentifier: IfcIdentifier);
    }
    class IfcAppliedValue extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        AppliedValue: IfcAppliedValueSelect | null;
        UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        ApplicableDate: IfcDate | null;
        FixedUntilDate: IfcDate | null;
        Category: IfcLabel | null;
        Condition: IfcLabel | null;
        ArithmeticOperator: IfcArithmeticOperatorEnum | null;
        Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, AppliedValue: IfcAppliedValueSelect | null, UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, ApplicableDate: IfcDate | null, FixedUntilDate: IfcDate | null, Category: IfcLabel | null, Condition: IfcLabel | null, ArithmeticOperator: IfcArithmeticOperatorEnum | null, Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null);
    }
    class IfcApproval extends IfcLineObject {
        Identifier: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        TimeOfApproval: IfcDateTime | null;
        Status: IfcLabel | null;
        Level: IfcLabel | null;
        Qualifier: IfcText | null;
        RequestingApproval: IfcActorSelect | null;
        GivingApproval: IfcActorSelect | null;
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        ApprovedObjects: (Handle<IfcRelAssociatesApproval> | IfcRelAssociatesApproval)[] | null;
        ApprovedResources: (Handle<IfcResourceApprovalRelationship> | IfcResourceApprovalRelationship)[] | null;
        IsRelatedWith: (Handle<IfcApprovalRelationship> | IfcApprovalRelationship)[] | null;
        Relates: (Handle<IfcApprovalRelationship> | IfcApprovalRelationship)[] | null;
        constructor(Identifier: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, TimeOfApproval: IfcDateTime | null, Status: IfcLabel | null, Level: IfcLabel | null, Qualifier: IfcText | null, RequestingApproval: IfcActorSelect | null, GivingApproval: IfcActorSelect | null);
    }
    class IfcBoundaryCondition extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcBoundaryEdgeCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessByLengthX: IfcModulusOfTranslationalSubgradeReactionSelect | null;
        TranslationalStiffnessByLengthY: IfcModulusOfTranslationalSubgradeReactionSelect | null;
        TranslationalStiffnessByLengthZ: IfcModulusOfTranslationalSubgradeReactionSelect | null;
        RotationalStiffnessByLengthX: IfcModulusOfRotationalSubgradeReactionSelect | null;
        RotationalStiffnessByLengthY: IfcModulusOfRotationalSubgradeReactionSelect | null;
        RotationalStiffnessByLengthZ: IfcModulusOfRotationalSubgradeReactionSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessByLengthX: IfcModulusOfTranslationalSubgradeReactionSelect | null, TranslationalStiffnessByLengthY: IfcModulusOfTranslationalSubgradeReactionSelect | null, TranslationalStiffnessByLengthZ: IfcModulusOfTranslationalSubgradeReactionSelect | null, RotationalStiffnessByLengthX: IfcModulusOfRotationalSubgradeReactionSelect | null, RotationalStiffnessByLengthY: IfcModulusOfRotationalSubgradeReactionSelect | null, RotationalStiffnessByLengthZ: IfcModulusOfRotationalSubgradeReactionSelect | null);
    }
    class IfcBoundaryFaceCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessByAreaX: IfcModulusOfSubgradeReactionSelect | null;
        TranslationalStiffnessByAreaY: IfcModulusOfSubgradeReactionSelect | null;
        TranslationalStiffnessByAreaZ: IfcModulusOfSubgradeReactionSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessByAreaX: IfcModulusOfSubgradeReactionSelect | null, TranslationalStiffnessByAreaY: IfcModulusOfSubgradeReactionSelect | null, TranslationalStiffnessByAreaZ: IfcModulusOfSubgradeReactionSelect | null);
    }
    class IfcBoundaryNodeCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null;
        RotationalStiffnessX: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessY: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessZ: IfcRotationalStiffnessSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null, RotationalStiffnessX: IfcRotationalStiffnessSelect | null, RotationalStiffnessY: IfcRotationalStiffnessSelect | null, RotationalStiffnessZ: IfcRotationalStiffnessSelect | null);
    }
    class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null;
        RotationalStiffnessX: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessY: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessZ: IfcRotationalStiffnessSelect | null;
        WarpingStiffness: IfcWarpingStiffnessSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null, RotationalStiffnessX: IfcRotationalStiffnessSelect | null, RotationalStiffnessY: IfcRotationalStiffnessSelect | null, RotationalStiffnessZ: IfcRotationalStiffnessSelect | null, WarpingStiffness: IfcWarpingStiffnessSelect | null);
    }
    class IfcConnectionGeometry extends IfcLineObject {
        type: number;
        constructor();
    }
    class IfcConnectionPointGeometry extends IfcConnectionGeometry {
        PointOnRelatingElement: IfcPointOrVertexPoint;
        PointOnRelatedElement: IfcPointOrVertexPoint | null;
        type: number;
        constructor(PointOnRelatingElement: IfcPointOrVertexPoint, PointOnRelatedElement: IfcPointOrVertexPoint | null);
    }
    class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry {
        SurfaceOnRelatingElement: IfcSurfaceOrFaceSurface;
        SurfaceOnRelatedElement: IfcSurfaceOrFaceSurface | null;
        type: number;
        constructor(SurfaceOnRelatingElement: IfcSurfaceOrFaceSurface, SurfaceOnRelatedElement: IfcSurfaceOrFaceSurface | null);
    }
    class IfcConnectionVolumeGeometry extends IfcConnectionGeometry {
        VolumeOnRelatingElement: IfcSolidOrShell;
        VolumeOnRelatedElement: IfcSolidOrShell | null;
        type: number;
        constructor(VolumeOnRelatingElement: IfcSolidOrShell, VolumeOnRelatedElement: IfcSolidOrShell | null);
    }
    class IfcConstraint extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTime | null;
        UserDefinedGrade: IfcLabel | null;
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        PropertiesForConstraint: (Handle<IfcResourceConstraintRelationship> | IfcResourceConstraintRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTime | null, UserDefinedGrade: IfcLabel | null);
    }
    class IfcCoordinateOperation extends IfcLineObject {
        SourceCRS: IfcCoordinateReferenceSystemSelect;
        TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem);
        type: number;
        constructor(SourceCRS: IfcCoordinateReferenceSystemSelect, TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem));
    }
    class IfcCoordinateReferenceSystem extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        GeodeticDatum: IfcIdentifier | null;
        VerticalDatum: IfcIdentifier | null;
        type: number;
        HasCoordinateOperation: (Handle<IfcCoordinateOperation> | IfcCoordinateOperation)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, GeodeticDatum: IfcIdentifier | null, VerticalDatum: IfcIdentifier | null);
    }
    class IfcCostValue extends IfcAppliedValue {
        Name: IfcLabel | null;
        Description: IfcText | null;
        AppliedValue: IfcAppliedValueSelect | null;
        UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        ApplicableDate: IfcDate | null;
        FixedUntilDate: IfcDate | null;
        Category: IfcLabel | null;
        Condition: IfcLabel | null;
        ArithmeticOperator: IfcArithmeticOperatorEnum | null;
        Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, AppliedValue: IfcAppliedValueSelect | null, UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, ApplicableDate: IfcDate | null, FixedUntilDate: IfcDate | null, Category: IfcLabel | null, Condition: IfcLabel | null, ArithmeticOperator: IfcArithmeticOperatorEnum | null, Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null);
    }
    class IfcDerivedUnit extends IfcLineObject {
        Elements: (Handle<IfcDerivedUnitElement> | IfcDerivedUnitElement)[];
        UnitType: IfcDerivedUnitEnum;
        UserDefinedType: IfcLabel | null;
        type: number;
        constructor(Elements: (Handle<IfcDerivedUnitElement> | IfcDerivedUnitElement)[], UnitType: IfcDerivedUnitEnum, UserDefinedType: IfcLabel | null);
    }
    class IfcDerivedUnitElement extends IfcLineObject {
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit);
        Exponent: number;
        type: number;
        constructor(Unit: (Handle<IfcNamedUnit> | IfcNamedUnit), Exponent: number);
    }
    class IfcDimensionalExponents extends IfcLineObject {
        LengthExponent: number;
        MassExponent: number;
        TimeExponent: number;
        ElectricCurrentExponent: number;
        ThermodynamicTemperatureExponent: number;
        AmountOfSubstanceExponent: number;
        LuminousIntensityExponent: number;
        type: number;
        constructor(LengthExponent: number, MassExponent: number, TimeExponent: number, ElectricCurrentExponent: number, ThermodynamicTemperatureExponent: number, AmountOfSubstanceExponent: number, LuminousIntensityExponent: number);
    }
    class IfcExternalInformation extends IfcLineObject {
        type: number;
        constructor();
    }
    class IfcExternalReference extends IfcLineObject {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        ExternalReferenceForResources: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedHatchStyle extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedTextFont extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcGridAxis extends IfcLineObject {
        AxisTag: IfcLabel | null;
        AxisCurve: (Handle<IfcCurve> | IfcCurve);
        SameSense: IfcBoolean;
        type: number;
        PartOfW: (Handle<IfcGrid> | IfcGrid)[] | null;
        PartOfV: (Handle<IfcGrid> | IfcGrid)[] | null;
        PartOfU: (Handle<IfcGrid> | IfcGrid)[] | null;
        HasIntersections: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection)[] | null;
        constructor(AxisTag: IfcLabel | null, AxisCurve: (Handle<IfcCurve> | IfcCurve), SameSense: IfcBoolean);
    }
    class IfcIrregularTimeSeriesValue extends IfcLineObject {
        TimeStamp: IfcDateTime;
        ListValues: IfcValue[];
        type: number;
        constructor(TimeStamp: IfcDateTime, ListValues: IfcValue[]);
    }
    class IfcLibraryInformation extends IfcExternalInformation {
        Name: IfcLabel;
        Version: IfcLabel | null;
        Publisher: IfcActorSelect | null;
        VersionDate: IfcDateTime | null;
        Location: IfcURIReference | null;
        Description: IfcText | null;
        type: number;
        LibraryInfoForObjects: (Handle<IfcRelAssociatesLibrary> | IfcRelAssociatesLibrary)[] | null;
        HasLibraryReferences: (Handle<IfcLibraryReference> | IfcLibraryReference)[] | null;
        constructor(Name: IfcLabel, Version: IfcLabel | null, Publisher: IfcActorSelect | null, VersionDate: IfcDateTime | null, Location: IfcURIReference | null, Description: IfcText | null);
    }
    class IfcLibraryReference extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Language: IfcLanguageId | null;
        ReferencedLibrary: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null;
        type: number;
        LibraryRefForObjects: (Handle<IfcRelAssociatesLibrary> | IfcRelAssociatesLibrary)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, Language: IfcLanguageId | null, ReferencedLibrary: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null);
    }
    class IfcLightDistributionData extends IfcLineObject {
        MainPlaneAngle: IfcPlaneAngleMeasure;
        SecondaryPlaneAngle: IfcPlaneAngleMeasure[];
        LuminousIntensity: IfcLuminousIntensityDistributionMeasure[];
        type: number;
        constructor(MainPlaneAngle: IfcPlaneAngleMeasure, SecondaryPlaneAngle: IfcPlaneAngleMeasure[], LuminousIntensity: IfcLuminousIntensityDistributionMeasure[]);
    }
    class IfcLightIntensityDistribution extends IfcLineObject {
        LightDistributionCurve: IfcLightDistributionCurveEnum;
        DistributionData: (Handle<IfcLightDistributionData> | IfcLightDistributionData)[];
        type: number;
        constructor(LightDistributionCurve: IfcLightDistributionCurveEnum, DistributionData: (Handle<IfcLightDistributionData> | IfcLightDistributionData)[]);
    }
    class IfcMapConversion extends IfcCoordinateOperation {
        SourceCRS: IfcCoordinateReferenceSystemSelect;
        TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem);
        Eastings: IfcLengthMeasure;
        Northings: IfcLengthMeasure;
        OrthogonalHeight: IfcLengthMeasure;
        XAxisAbscissa: IfcReal | null;
        XAxisOrdinate: IfcReal | null;
        Scale: IfcReal | null;
        type: number;
        constructor(SourceCRS: IfcCoordinateReferenceSystemSelect, TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem), Eastings: IfcLengthMeasure, Northings: IfcLengthMeasure, OrthogonalHeight: IfcLengthMeasure, XAxisAbscissa: IfcReal | null, XAxisOrdinate: IfcReal | null, Scale: IfcReal | null);
    }
    class IfcMaterialClassificationRelationship extends IfcLineObject {
        MaterialClassifications: IfcClassificationSelect[];
        ClassifiedMaterial: (Handle<IfcMaterial> | IfcMaterial);
        type: number;
        constructor(MaterialClassifications: IfcClassificationSelect[], ClassifiedMaterial: (Handle<IfcMaterial> | IfcMaterial));
    }
    class IfcMaterialDefinition extends IfcLineObject {
        type: number;
        AssociatedTo: (Handle<IfcRelAssociatesMaterial> | IfcRelAssociatesMaterial)[] | null;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        HasProperties: (Handle<IfcMaterialProperties> | IfcMaterialProperties)[] | null;
        constructor();
    }
    class IfcMaterialLayer extends IfcMaterialDefinition {
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        LayerThickness: IfcNonNegativeLengthMeasure;
        IsVentilated: IfcLogical | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Category: IfcLabel | null;
        Priority: IfcInteger | null;
        type: number;
        ToMaterialLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet) | null;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial) | null, LayerThickness: IfcNonNegativeLengthMeasure, IsVentilated: IfcLogical | null, Name: IfcLabel | null, Description: IfcText | null, Category: IfcLabel | null, Priority: IfcInteger | null);
    }
    class IfcMaterialLayerSet extends IfcMaterialDefinition {
        MaterialLayers: (Handle<IfcMaterialLayer> | IfcMaterialLayer)[];
        LayerSetName: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(MaterialLayers: (Handle<IfcMaterialLayer> | IfcMaterialLayer)[], LayerSetName: IfcLabel | null, Description: IfcText | null);
    }
    class IfcMaterialLayerWithOffsets extends IfcMaterialLayer {
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        LayerThickness: IfcNonNegativeLengthMeasure;
        IsVentilated: IfcLogical | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Category: IfcLabel | null;
        Priority: IfcInteger | null;
        OffsetDirection: IfcLayerSetDirectionEnum;
        OffsetValues: IfcLengthMeasure;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial) | null, LayerThickness: IfcNonNegativeLengthMeasure, IsVentilated: IfcLogical | null, Name: IfcLabel | null, Description: IfcText | null, Category: IfcLabel | null, Priority: IfcInteger | null, OffsetDirection: IfcLayerSetDirectionEnum, OffsetValues: IfcLengthMeasure);
    }
    class IfcMaterialList extends IfcLineObject {
        Materials: (Handle<IfcMaterial> | IfcMaterial)[];
        type: number;
        constructor(Materials: (Handle<IfcMaterial> | IfcMaterial)[]);
    }
    class IfcMaterialProfile extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        Profile: (Handle<IfcProfileDef> | IfcProfileDef);
        Priority: IfcInteger | null;
        Category: IfcLabel | null;
        type: number;
        ToMaterialProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet) | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Material: (Handle<IfcMaterial> | IfcMaterial) | null, Profile: (Handle<IfcProfileDef> | IfcProfileDef), Priority: IfcInteger | null, Category: IfcLabel | null);
    }
    class IfcMaterialProfileSet extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        MaterialProfiles: (Handle<IfcMaterialProfile> | IfcMaterialProfile)[];
        CompositeProfile: (Handle<IfcCompositeProfileDef> | IfcCompositeProfileDef) | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, MaterialProfiles: (Handle<IfcMaterialProfile> | IfcMaterialProfile)[], CompositeProfile: (Handle<IfcCompositeProfileDef> | IfcCompositeProfileDef) | null);
    }
    class IfcMaterialProfileWithOffsets extends IfcMaterialProfile {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        Profile: (Handle<IfcProfileDef> | IfcProfileDef);
        Priority: IfcInteger | null;
        Category: IfcLabel | null;
        OffsetValues: IfcLengthMeasure;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Material: (Handle<IfcMaterial> | IfcMaterial) | null, Profile: (Handle<IfcProfileDef> | IfcProfileDef), Priority: IfcInteger | null, Category: IfcLabel | null, OffsetValues: IfcLengthMeasure);
    }
    class IfcMaterialUsageDefinition extends IfcLineObject {
        type: number;
        AssociatedTo: (Handle<IfcRelAssociatesMaterial> | IfcRelAssociatesMaterial)[] | null;
        constructor();
    }
    class IfcMeasureWithUnit extends IfcLineObject {
        ValueComponent: IfcValue;
        UnitComponent: IfcUnit;
        type: number;
        constructor(ValueComponent: IfcValue, UnitComponent: IfcUnit);
    }
    class IfcMetric extends IfcConstraint {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTime | null;
        UserDefinedGrade: IfcLabel | null;
        Benchmark: IfcBenchmarkEnum;
        ValueSource: IfcLabel | null;
        DataValue: IfcMetricValueSelect | null;
        ReferencePath: (Handle<IfcReference> | IfcReference) | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTime | null, UserDefinedGrade: IfcLabel | null, Benchmark: IfcBenchmarkEnum, ValueSource: IfcLabel | null, DataValue: IfcMetricValueSelect | null, ReferencePath: (Handle<IfcReference> | IfcReference) | null);
    }
    class IfcMonetaryUnit extends IfcLineObject {
        Currency: IfcLabel;
        type: number;
        constructor(Currency: IfcLabel);
    }
    class IfcNamedUnit extends IfcLineObject {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        type: number;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum);
    }
    class IfcObjectPlacement extends IfcLineObject {
        type: number;
        PlacesObject: (Handle<IfcProduct> | IfcProduct)[] | null;
        ReferencedByPlacements: (Handle<IfcLocalPlacement> | IfcLocalPlacement)[] | null;
        constructor();
    }
    class IfcObjective extends IfcConstraint {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTime | null;
        UserDefinedGrade: IfcLabel | null;
        BenchmarkValues: (Handle<IfcConstraint> | IfcConstraint)[] | null;
        LogicalAggregator: IfcLogicalOperatorEnum | null;
        ObjectiveQualifier: IfcObjectiveEnum;
        UserDefinedQualifier: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTime | null, UserDefinedGrade: IfcLabel | null, BenchmarkValues: (Handle<IfcConstraint> | IfcConstraint)[] | null, LogicalAggregator: IfcLogicalOperatorEnum | null, ObjectiveQualifier: IfcObjectiveEnum, UserDefinedQualifier: IfcLabel | null);
    }
    class IfcOrganization extends IfcLineObject {
        Identification: IfcIdentifier | null;
        Name: IfcLabel;
        Description: IfcText | null;
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        Addresses: (Handle<IfcAddress> | IfcAddress)[] | null;
        type: number;
        IsRelatedBy: (Handle<IfcOrganizationRelationship> | IfcOrganizationRelationship)[] | null;
        Relates: (Handle<IfcOrganizationRelationship> | IfcOrganizationRelationship)[] | null;
        Engages: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization)[] | null;
        constructor(Identification: IfcIdentifier | null, Name: IfcLabel, Description: IfcText | null, Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null, Addresses: (Handle<IfcAddress> | IfcAddress)[] | null);
    }
    class IfcOwnerHistory extends IfcLineObject {
        OwningUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization);
        OwningApplication: (Handle<IfcApplication> | IfcApplication);
        State: IfcStateEnum | null;
        ChangeAction: IfcChangeActionEnum | null;
        LastModifiedDate: IfcTimeStamp | null;
        LastModifyingUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | null;
        LastModifyingApplication: (Handle<IfcApplication> | IfcApplication) | null;
        CreationDate: IfcTimeStamp;
        type: number;
        constructor(OwningUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization), OwningApplication: (Handle<IfcApplication> | IfcApplication), State: IfcStateEnum | null, ChangeAction: IfcChangeActionEnum | null, LastModifiedDate: IfcTimeStamp | null, LastModifyingUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | null, LastModifyingApplication: (Handle<IfcApplication> | IfcApplication) | null, CreationDate: IfcTimeStamp);
    }
    class IfcPerson extends IfcLineObject {
        Identification: IfcIdentifier | null;
        FamilyName: IfcLabel | null;
        GivenName: IfcLabel | null;
        MiddleNames: IfcLabel[] | null;
        PrefixTitles: IfcLabel[] | null;
        SuffixTitles: IfcLabel[] | null;
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        Addresses: (Handle<IfcAddress> | IfcAddress)[] | null;
        type: number;
        EngagedIn: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization)[] | null;
        constructor(Identification: IfcIdentifier | null, FamilyName: IfcLabel | null, GivenName: IfcLabel | null, MiddleNames: IfcLabel[] | null, PrefixTitles: IfcLabel[] | null, SuffixTitles: IfcLabel[] | null, Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null, Addresses: (Handle<IfcAddress> | IfcAddress)[] | null);
    }
    class IfcPersonAndOrganization extends IfcLineObject {
        ThePerson: (Handle<IfcPerson> | IfcPerson);
        TheOrganization: (Handle<IfcOrganization> | IfcOrganization);
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        type: number;
        constructor(ThePerson: (Handle<IfcPerson> | IfcPerson), TheOrganization: (Handle<IfcOrganization> | IfcOrganization), Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null);
    }
    class IfcPhysicalQuantity extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        PartOfComplex: (Handle<IfcPhysicalComplexQuantity> | IfcPhysicalComplexQuantity)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null);
    }
    class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null);
    }
    class IfcPostalAddress extends IfcAddress {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        InternalLocation: IfcLabel | null;
        AddressLines: IfcLabel[] | null;
        PostalBox: IfcLabel | null;
        Town: IfcLabel | null;
        Region: IfcLabel | null;
        PostalCode: IfcLabel | null;
        Country: IfcLabel | null;
        type: number;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null, InternalLocation: IfcLabel | null, AddressLines: IfcLabel[] | null, PostalBox: IfcLabel | null, Town: IfcLabel | null, Region: IfcLabel | null, PostalCode: IfcLabel | null, Country: IfcLabel | null);
    }
    class IfcPresentationItem extends IfcLineObject {
        type: number;
        constructor();
    }
    class IfcPresentationLayerAssignment extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        AssignedItems: IfcLayeredItem[];
        Identifier: IfcIdentifier | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, AssignedItems: IfcLayeredItem[], Identifier: IfcIdentifier | null);
    }
    class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment {
        Name: IfcLabel;
        Description: IfcText | null;
        AssignedItems: IfcLayeredItem[];
        Identifier: IfcIdentifier | null;
        LayerOn: IfcLogical;
        LayerFrozen: IfcLogical;
        LayerBlocked: IfcLogical;
        LayerStyles: (Handle<IfcPresentationStyle> | IfcPresentationStyle)[] | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, AssignedItems: IfcLayeredItem[], Identifier: IfcIdentifier | null, LayerOn: IfcLogical, LayerFrozen: IfcLogical, LayerBlocked: IfcLogical, LayerStyles: (Handle<IfcPresentationStyle> | IfcPresentationStyle)[] | null);
    }
    class IfcPresentationStyle extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcPresentationStyleAssignment extends IfcLineObject {
        Styles: IfcPresentationStyleSelect[];
        type: number;
        constructor(Styles: IfcPresentationStyleSelect[]);
    }
    class IfcProductRepresentation extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[]);
    }
    class IfcProfileDef extends IfcLineObject {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        HasProperties: (Handle<IfcProfileProperties> | IfcProfileProperties)[] | null;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null);
    }
    class IfcProjectedCRS extends IfcCoordinateReferenceSystem {
        Name: IfcLabel;
        Description: IfcText | null;
        GeodeticDatum: IfcIdentifier | null;
        VerticalDatum: IfcIdentifier | null;
        MapProjection: IfcIdentifier | null;
        MapZone: IfcIdentifier | null;
        MapUnit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, GeodeticDatum: IfcIdentifier | null, VerticalDatum: IfcIdentifier | null, MapProjection: IfcIdentifier | null, MapZone: IfcIdentifier | null, MapUnit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null);
    }
    class IfcPropertyAbstraction extends IfcLineObject {
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor();
    }
    class IfcPropertyEnumeration extends IfcPropertyAbstraction {
        Name: IfcLabel;
        EnumerationValues: IfcValue[];
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcLabel, EnumerationValues: IfcValue[], Unit: IfcUnit | null);
    }
    class IfcQuantityArea extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        AreaValue: IfcAreaMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, AreaValue: IfcAreaMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityCount extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        CountValue: IfcCountMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, CountValue: IfcCountMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityLength extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        LengthValue: IfcLengthMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, LengthValue: IfcLengthMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityTime extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        TimeValue: IfcTimeMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, TimeValue: IfcTimeMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityVolume extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        VolumeValue: IfcVolumeMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, VolumeValue: IfcVolumeMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityWeight extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        WeightValue: IfcMassMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, WeightValue: IfcMassMeasure, Formula: IfcLabel | null);
    }
    class IfcRecurrencePattern extends IfcLineObject {
        RecurrenceType: IfcRecurrenceTypeEnum;
        DayComponent: IfcDayInMonthNumber[] | null;
        WeekdayComponent: IfcDayInWeekNumber[] | null;
        MonthComponent: IfcMonthInYearNumber[] | null;
        Position: IfcInteger | null;
        Interval: IfcInteger | null;
        Occurrences: IfcInteger | null;
        TimePeriods: (Handle<IfcTimePeriod> | IfcTimePeriod)[] | null;
        type: number;
        constructor(RecurrenceType: IfcRecurrenceTypeEnum, DayComponent: IfcDayInMonthNumber[] | null, WeekdayComponent: IfcDayInWeekNumber[] | null, MonthComponent: IfcMonthInYearNumber[] | null, Position: IfcInteger | null, Interval: IfcInteger | null, Occurrences: IfcInteger | null, TimePeriods: (Handle<IfcTimePeriod> | IfcTimePeriod)[] | null);
    }
    class IfcReference extends IfcLineObject {
        TypeIdentifier: IfcIdentifier | null;
        AttributeIdentifier: IfcIdentifier | null;
        InstanceName: IfcLabel | null;
        ListPositions: IfcInteger[] | null;
        InnerReference: (Handle<IfcReference> | IfcReference) | null;
        type: number;
        constructor(TypeIdentifier: IfcIdentifier | null, AttributeIdentifier: IfcIdentifier | null, InstanceName: IfcLabel | null, ListPositions: IfcInteger[] | null, InnerReference: (Handle<IfcReference> | IfcReference) | null);
    }
    class IfcRepresentation extends IfcLineObject {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        RepresentationMap: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        LayerAssignments: (Handle<IfcPresentationLayerAssignment> | IfcPresentationLayerAssignment)[] | null;
        OfProductRepresentation: (Handle<IfcProductRepresentation> | IfcProductRepresentation)[] | null;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcRepresentationContext extends IfcLineObject {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        type: number;
        RepresentationsInContext: (Handle<IfcRepresentation> | IfcRepresentation)[] | null;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null);
    }
    class IfcRepresentationItem extends IfcLineObject {
        type: number;
        LayerAssignment: (Handle<IfcPresentationLayerAssignment> | IfcPresentationLayerAssignment)[] | null;
        StyledByItem: (Handle<IfcStyledItem> | IfcStyledItem)[] | null;
        constructor();
    }
    class IfcRepresentationMap extends IfcLineObject {
        MappingOrigin: IfcAxis2Placement;
        MappedRepresentation: (Handle<IfcRepresentation> | IfcRepresentation);
        type: number;
        HasShapeAspects: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        MapUsage: (Handle<IfcMappedItem> | IfcMappedItem)[] | null;
        constructor(MappingOrigin: IfcAxis2Placement, MappedRepresentation: (Handle<IfcRepresentation> | IfcRepresentation));
    }
    class IfcResourceLevelRelationship extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRoot extends IfcLineObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcSIUnit extends IfcNamedUnit {
        UnitType: IfcUnitEnum;
        Prefix: IfcSIPrefix | null;
        Name: IfcSIUnitName;
        type: number;
        constructor(UnitType: IfcUnitEnum, Prefix: IfcSIPrefix | null, Name: IfcSIUnitName);
    }
    class IfcSchedulingTime extends IfcLineObject {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null);
    }
    class IfcShapeAspect extends IfcLineObject {
        ShapeRepresentations: (Handle<IfcShapeModel> | IfcShapeModel)[];
        Name: IfcLabel | null;
        Description: IfcText | null;
        ProductDefinitional: IfcLogical;
        PartOfProductDefinitionShape: IfcProductRepresentationSelect | null;
        type: number;
        constructor(ShapeRepresentations: (Handle<IfcShapeModel> | IfcShapeModel)[], Name: IfcLabel | null, Description: IfcText | null, ProductDefinitional: IfcLogical, PartOfProductDefinitionShape: IfcProductRepresentationSelect | null);
    }
    class IfcShapeModel extends IfcRepresentation {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        OfShapeAspect: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcShapeRepresentation extends IfcShapeModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcStructuralConnectionCondition extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoad extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadConfiguration extends IfcStructuralLoad {
        Name: IfcLabel | null;
        Values: (Handle<IfcStructuralLoadOrResult> | IfcStructuralLoadOrResult)[];
        Locations: IfcLengthMeasure[][] | null;
        type: number;
        constructor(Name: IfcLabel | null, Values: (Handle<IfcStructuralLoadOrResult> | IfcStructuralLoadOrResult)[], Locations: IfcLengthMeasure[][] | null);
    }
    class IfcStructuralLoadOrResult extends IfcStructuralLoad {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        DeltaTConstant: IfcThermodynamicTemperatureMeasure | null;
        DeltaTY: IfcThermodynamicTemperatureMeasure | null;
        DeltaTZ: IfcThermodynamicTemperatureMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DeltaTConstant: IfcThermodynamicTemperatureMeasure | null, DeltaTY: IfcThermodynamicTemperatureMeasure | null, DeltaTZ: IfcThermodynamicTemperatureMeasure | null);
    }
    class IfcStyleModel extends IfcRepresentation {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcStyledItem extends IfcRepresentationItem {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: IfcStyleAssignmentSelect[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: IfcStyleAssignmentSelect[], Name: IfcLabel | null);
    }
    class IfcStyledRepresentation extends IfcStyleModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult {
        Name: IfcLabel | null;
        SurfaceReinforcement1: IfcLengthMeasure[] | null;
        SurfaceReinforcement2: IfcLengthMeasure[] | null;
        ShearReinforcement: IfcRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, SurfaceReinforcement1: IfcLengthMeasure[] | null, SurfaceReinforcement2: IfcLengthMeasure[] | null, ShearReinforcement: IfcRatioMeasure | null);
    }
    class IfcSurfaceStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        Side: IfcSurfaceSide;
        Styles: IfcSurfaceStyleElementSelect[];
        type: number;
        constructor(Name: IfcLabel | null, Side: IfcSurfaceSide, Styles: IfcSurfaceStyleElementSelect[]);
    }
    class IfcSurfaceStyleLighting extends IfcPresentationItem {
        DiffuseTransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        DiffuseReflectionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        TransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        ReflectanceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        type: number;
        constructor(DiffuseTransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb), DiffuseReflectionColour: (Handle<IfcColourRgb> | IfcColourRgb), TransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb), ReflectanceColour: (Handle<IfcColourRgb> | IfcColourRgb));
    }
    class IfcSurfaceStyleRefraction extends IfcPresentationItem {
        RefractionIndex: IfcReal | null;
        DispersionFactor: IfcReal | null;
        type: number;
        constructor(RefractionIndex: IfcReal | null, DispersionFactor: IfcReal | null);
    }
    class IfcSurfaceStyleShading extends IfcPresentationItem {
        SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        Transparency: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb), Transparency: IfcNormalisedRatioMeasure | null);
    }
    class IfcSurfaceStyleWithTextures extends IfcPresentationItem {
        Textures: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        type: number;
        constructor(Textures: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[]);
    }
    class IfcSurfaceTexture extends IfcPresentationItem {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        type: number;
        IsMappedBy: (Handle<IfcTextureCoordinate> | IfcTextureCoordinate)[] | null;
        UsedInStyles: (Handle<IfcSurfaceStyleWithTextures> | IfcSurfaceStyleWithTextures)[] | null;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null);
    }
    class IfcTable extends IfcLineObject {
        Name: IfcLabel | null;
        Rows: (Handle<IfcTableRow> | IfcTableRow)[] | null;
        Columns: (Handle<IfcTableColumn> | IfcTableColumn)[] | null;
        type: number;
        constructor(Name: IfcLabel | null, Rows: (Handle<IfcTableRow> | IfcTableRow)[] | null, Columns: (Handle<IfcTableColumn> | IfcTableColumn)[] | null);
    }
    class IfcTableColumn extends IfcLineObject {
        Identifier: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Unit: IfcUnit | null;
        ReferencePath: (Handle<IfcReference> | IfcReference) | null;
        type: number;
        constructor(Identifier: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, Unit: IfcUnit | null, ReferencePath: (Handle<IfcReference> | IfcReference) | null);
    }
    class IfcTableRow extends IfcLineObject {
        RowCells: IfcValue[] | null;
        IsHeading: IfcBoolean | null;
        type: number;
        constructor(RowCells: IfcValue[] | null, IsHeading: IfcBoolean | null);
    }
    class IfcTaskTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        DurationType: IfcTaskDurationEnum | null;
        ScheduleDuration: IfcDuration | null;
        ScheduleStart: IfcDateTime | null;
        ScheduleFinish: IfcDateTime | null;
        EarlyStart: IfcDateTime | null;
        EarlyFinish: IfcDateTime | null;
        LateStart: IfcDateTime | null;
        LateFinish: IfcDateTime | null;
        FreeFloat: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        IsCritical: IfcBoolean | null;
        StatusTime: IfcDateTime | null;
        ActualDuration: IfcDuration | null;
        ActualStart: IfcDateTime | null;
        ActualFinish: IfcDateTime | null;
        RemainingTime: IfcDuration | null;
        Completion: IfcPositiveRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, DurationType: IfcTaskDurationEnum | null, ScheduleDuration: IfcDuration | null, ScheduleStart: IfcDateTime | null, ScheduleFinish: IfcDateTime | null, EarlyStart: IfcDateTime | null, EarlyFinish: IfcDateTime | null, LateStart: IfcDateTime | null, LateFinish: IfcDateTime | null, FreeFloat: IfcDuration | null, TotalFloat: IfcDuration | null, IsCritical: IfcBoolean | null, StatusTime: IfcDateTime | null, ActualDuration: IfcDuration | null, ActualStart: IfcDateTime | null, ActualFinish: IfcDateTime | null, RemainingTime: IfcDuration | null, Completion: IfcPositiveRatioMeasure | null);
    }
    class IfcTaskTimeRecurring extends IfcTaskTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        DurationType: IfcTaskDurationEnum | null;
        ScheduleDuration: IfcDuration | null;
        ScheduleStart: IfcDateTime | null;
        ScheduleFinish: IfcDateTime | null;
        EarlyStart: IfcDateTime | null;
        EarlyFinish: IfcDateTime | null;
        LateStart: IfcDateTime | null;
        LateFinish: IfcDateTime | null;
        FreeFloat: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        IsCritical: IfcBoolean | null;
        StatusTime: IfcDateTime | null;
        ActualDuration: IfcDuration | null;
        ActualStart: IfcDateTime | null;
        ActualFinish: IfcDateTime | null;
        RemainingTime: IfcDuration | null;
        Completion: IfcPositiveRatioMeasure | null;
        Recurrence: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern);
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, DurationType: IfcTaskDurationEnum | null, ScheduleDuration: IfcDuration | null, ScheduleStart: IfcDateTime | null, ScheduleFinish: IfcDateTime | null, EarlyStart: IfcDateTime | null, EarlyFinish: IfcDateTime | null, LateStart: IfcDateTime | null, LateFinish: IfcDateTime | null, FreeFloat: IfcDuration | null, TotalFloat: IfcDuration | null, IsCritical: IfcBoolean | null, StatusTime: IfcDateTime | null, ActualDuration: IfcDuration | null, ActualStart: IfcDateTime | null, ActualFinish: IfcDateTime | null, RemainingTime: IfcDuration | null, Completion: IfcPositiveRatioMeasure | null, Recurrence: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern));
    }
    class IfcTelecomAddress extends IfcAddress {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        TelephoneNumbers: IfcLabel[] | null;
        FacsimileNumbers: IfcLabel[] | null;
        PagerNumber: IfcLabel | null;
        ElectronicMailAddresses: IfcLabel[] | null;
        WWWHomePageURL: IfcURIReference | null;
        MessagingIDs: IfcURIReference[] | null;
        type: number;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null, TelephoneNumbers: IfcLabel[] | null, FacsimileNumbers: IfcLabel[] | null, PagerNumber: IfcLabel | null, ElectronicMailAddresses: IfcLabel[] | null, WWWHomePageURL: IfcURIReference | null, MessagingIDs: IfcURIReference[] | null);
    }
    class IfcTextStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        TextCharacterAppearance: (Handle<IfcTextStyleForDefinedFont> | IfcTextStyleForDefinedFont) | null;
        TextStyle: (Handle<IfcTextStyleTextModel> | IfcTextStyleTextModel) | null;
        TextFontStyle: IfcTextFontSelect;
        ModelOrDraughting: IfcBoolean | null;
        type: number;
        constructor(Name: IfcLabel | null, TextCharacterAppearance: (Handle<IfcTextStyleForDefinedFont> | IfcTextStyleForDefinedFont) | null, TextStyle: (Handle<IfcTextStyleTextModel> | IfcTextStyleTextModel) | null, TextFontStyle: IfcTextFontSelect, ModelOrDraughting: IfcBoolean | null);
    }
    class IfcTextStyleForDefinedFont extends IfcPresentationItem {
        Colour: IfcColour;
        BackgroundColour: IfcColour | null;
        type: number;
        constructor(Colour: IfcColour, BackgroundColour: IfcColour | null);
    }
    class IfcTextStyleTextModel extends IfcPresentationItem {
        TextIndent: IfcSizeSelect | null;
        TextAlign: IfcTextAlignment | null;
        TextDecoration: IfcTextDecoration | null;
        LetterSpacing: IfcSizeSelect | null;
        WordSpacing: IfcSizeSelect | null;
        TextTransform: IfcTextTransformation | null;
        LineHeight: IfcSizeSelect | null;
        type: number;
        constructor(TextIndent: IfcSizeSelect | null, TextAlign: IfcTextAlignment | null, TextDecoration: IfcTextDecoration | null, LetterSpacing: IfcSizeSelect | null, WordSpacing: IfcSizeSelect | null, TextTransform: IfcTextTransformation | null, LineHeight: IfcSizeSelect | null);
    }
    class IfcTextureCoordinate extends IfcPresentationItem {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[]);
    }
    class IfcTextureCoordinateGenerator extends IfcTextureCoordinate {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        Mode: IfcLabel;
        Parameter: IfcReal[] | null;
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], Mode: IfcLabel, Parameter: IfcReal[] | null);
    }
    class IfcTextureMap extends IfcTextureCoordinate {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        Vertices: (Handle<IfcTextureVertex> | IfcTextureVertex)[];
        MappedTo: (Handle<IfcFace> | IfcFace);
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], Vertices: (Handle<IfcTextureVertex> | IfcTextureVertex)[], MappedTo: (Handle<IfcFace> | IfcFace));
    }
    class IfcTextureVertex extends IfcPresentationItem {
        Coordinates: IfcParameterValue[];
        type: number;
        constructor(Coordinates: IfcParameterValue[]);
    }
    class IfcTextureVertexList extends IfcPresentationItem {
        TexCoordsList: IfcParameterValue[][];
        type: number;
        constructor(TexCoordsList: IfcParameterValue[][]);
    }
    class IfcTimePeriod extends IfcLineObject {
        StartTime: IfcTime;
        EndTime: IfcTime;
        type: number;
        constructor(StartTime: IfcTime, EndTime: IfcTime);
    }
    class IfcTimeSeries extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTime;
        EndTime: IfcDateTime;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTime, EndTime: IfcDateTime, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null);
    }
    class IfcTimeSeriesValue extends IfcLineObject {
        ListValues: IfcValue[];
        type: number;
        constructor(ListValues: IfcValue[]);
    }
    class IfcTopologicalRepresentationItem extends IfcRepresentationItem {
        type: number;
        constructor();
    }
    class IfcTopologyRepresentation extends IfcShapeModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcUnitAssignment extends IfcLineObject {
        Units: IfcUnit[];
        type: number;
        constructor(Units: IfcUnit[]);
    }
    class IfcVertex extends IfcTopologicalRepresentationItem {
        type: number;
        constructor();
    }
    class IfcVertexPoint extends IfcVertex {
        VertexGeometry: (Handle<IfcPoint> | IfcPoint);
        type: number;
        constructor(VertexGeometry: (Handle<IfcPoint> | IfcPoint));
    }
    class IfcVirtualGridIntersection extends IfcLineObject {
        IntersectingAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        OffsetDistances: IfcLengthMeasure[];
        type: number;
        constructor(IntersectingAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], OffsetDistances: IfcLengthMeasure[]);
    }
    class IfcWorkTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        RecurrencePattern: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern) | null;
        Start: IfcDate | null;
        Finish: IfcDate | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, RecurrencePattern: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern) | null, Start: IfcDate | null, Finish: IfcDate | null);
    }
    class IfcApprovalRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        RelatedApprovals: (Handle<IfcApproval> | IfcApproval)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingApproval: (Handle<IfcApproval> | IfcApproval), RelatedApprovals: (Handle<IfcApproval> | IfcApproval)[]);
    }
    class IfcArbitraryClosedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        OuterCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, OuterCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcArbitraryOpenProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve));
    }
    class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        OuterCurve: (Handle<IfcCurve> | IfcCurve);
        InnerCurves: (Handle<IfcCurve> | IfcCurve)[];
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, OuterCurve: (Handle<IfcCurve> | IfcCurve), InnerCurves: (Handle<IfcCurve> | IfcCurve)[]);
    }
    class IfcBlobTexture extends IfcSurfaceTexture {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        RasterFormat: IfcIdentifier;
        RasterCode: IfcBinary;
        type: number;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null, RasterFormat: IfcIdentifier, RasterCode: IfcBinary);
    }
    class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        Thickness: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve), Thickness: IfcPositiveLengthMeasure);
    }
    class IfcClassification extends IfcExternalInformation {
        Source: IfcLabel | null;
        Edition: IfcLabel | null;
        EditionDate: IfcDate | null;
        Name: IfcLabel;
        Description: IfcText | null;
        Location: IfcURIReference | null;
        ReferenceTokens: IfcIdentifier[] | null;
        type: number;
        ClassificationForObjects: (Handle<IfcRelAssociatesClassification> | IfcRelAssociatesClassification)[] | null;
        HasReferences: (Handle<IfcClassificationReference> | IfcClassificationReference)[] | null;
        constructor(Source: IfcLabel | null, Edition: IfcLabel | null, EditionDate: IfcDate | null, Name: IfcLabel, Description: IfcText | null, Location: IfcURIReference | null, ReferenceTokens: IfcIdentifier[] | null);
    }
    class IfcClassificationReference extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        ReferencedSource: IfcClassificationReferenceSelect | null;
        Description: IfcText | null;
        Sort: IfcIdentifier | null;
        type: number;
        ClassificationRefForObjects: (Handle<IfcRelAssociatesClassification> | IfcRelAssociatesClassification)[] | null;
        HasReferences: (Handle<IfcClassificationReference> | IfcClassificationReference)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null, ReferencedSource: IfcClassificationReferenceSelect | null, Description: IfcText | null, Sort: IfcIdentifier | null);
    }
    class IfcColourRgbList extends IfcPresentationItem {
        ColourList: IfcNormalisedRatioMeasure[][];
        type: number;
        constructor(ColourList: IfcNormalisedRatioMeasure[][]);
    }
    class IfcColourSpecification extends IfcPresentationItem {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcCompositeProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Profiles: (Handle<IfcProfileDef> | IfcProfileDef)[];
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Profiles: (Handle<IfcProfileDef> | IfcProfileDef)[], Label: IfcLabel | null);
    }
    class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcConnectionCurveGeometry extends IfcConnectionGeometry {
        CurveOnRelatingElement: IfcCurveOrEdgeCurve;
        CurveOnRelatedElement: IfcCurveOrEdgeCurve | null;
        type: number;
        constructor(CurveOnRelatingElement: IfcCurveOrEdgeCurve, CurveOnRelatedElement: IfcCurveOrEdgeCurve | null);
    }
    class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry {
        PointOnRelatingElement: IfcPointOrVertexPoint;
        PointOnRelatedElement: IfcPointOrVertexPoint | null;
        EccentricityInX: IfcLengthMeasure | null;
        EccentricityInY: IfcLengthMeasure | null;
        EccentricityInZ: IfcLengthMeasure | null;
        type: number;
        constructor(PointOnRelatingElement: IfcPointOrVertexPoint, PointOnRelatedElement: IfcPointOrVertexPoint | null, EccentricityInX: IfcLengthMeasure | null, EccentricityInY: IfcLengthMeasure | null, EccentricityInZ: IfcLengthMeasure | null);
    }
    class IfcContextDependentUnit extends IfcNamedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel);
    }
    class IfcConversionBasedUnit extends IfcNamedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit);
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel, ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit));
    }
    class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit);
        ConversionOffset: IfcReal;
        type: number;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel, ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit), ConversionOffset: IfcReal);
    }
    class IfcCurrencyRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit);
        RelatedMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit);
        ExchangeRate: IfcPositiveRatioMeasure;
        RateDateTime: IfcDateTime | null;
        RateSource: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit), RelatedMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit), ExchangeRate: IfcPositiveRatioMeasure, RateDateTime: IfcDateTime | null, RateSource: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null);
    }
    class IfcCurveStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        CurveFont: IfcCurveFontOrScaledCurveFontSelect | null;
        CurveWidth: IfcSizeSelect | null;
        CurveColour: IfcColour | null;
        ModelOrDraughting: IfcBoolean | null;
        type: number;
        constructor(Name: IfcLabel | null, CurveFont: IfcCurveFontOrScaledCurveFontSelect | null, CurveWidth: IfcSizeSelect | null, CurveColour: IfcColour | null, ModelOrDraughting: IfcBoolean | null);
    }
    class IfcCurveStyleFont extends IfcPresentationItem {
        Name: IfcLabel | null;
        PatternList: (Handle<IfcCurveStyleFontPattern> | IfcCurveStyleFontPattern)[];
        type: number;
        constructor(Name: IfcLabel | null, PatternList: (Handle<IfcCurveStyleFontPattern> | IfcCurveStyleFontPattern)[]);
    }
    class IfcCurveStyleFontAndScaling extends IfcPresentationItem {
        Name: IfcLabel | null;
        CurveFont: IfcCurveStyleFontSelect;
        CurveFontScaling: IfcPositiveRatioMeasure;
        type: number;
        constructor(Name: IfcLabel | null, CurveFont: IfcCurveStyleFontSelect, CurveFontScaling: IfcPositiveRatioMeasure);
    }
    class IfcCurveStyleFontPattern extends IfcPresentationItem {
        VisibleSegmentLength: IfcLengthMeasure;
        InvisibleSegmentLength: IfcPositiveLengthMeasure;
        type: number;
        constructor(VisibleSegmentLength: IfcLengthMeasure, InvisibleSegmentLength: IfcPositiveLengthMeasure);
    }
    class IfcDerivedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        Operator: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D);
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef), Operator: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D), Label: IfcLabel | null);
    }
    class IfcDocumentInformation extends IfcExternalInformation {
        Identification: IfcIdentifier;
        Name: IfcLabel;
        Description: IfcText | null;
        Location: IfcURIReference | null;
        Purpose: IfcText | null;
        IntendedUse: IfcText | null;
        Scope: IfcText | null;
        Revision: IfcLabel | null;
        DocumentOwner: IfcActorSelect | null;
        Editors: IfcActorSelect[] | null;
        CreationTime: IfcDateTime | null;
        LastRevisionTime: IfcDateTime | null;
        ElectronicFormat: IfcIdentifier | null;
        ValidFrom: IfcDate | null;
        ValidUntil: IfcDate | null;
        Confidentiality: IfcDocumentConfidentialityEnum | null;
        Status: IfcDocumentStatusEnum | null;
        type: number;
        DocumentInfoForObjects: (Handle<IfcRelAssociatesDocument> | IfcRelAssociatesDocument)[] | null;
        HasDocumentReferences: (Handle<IfcDocumentReference> | IfcDocumentReference)[] | null;
        IsPointedTo: (Handle<IfcDocumentInformationRelationship> | IfcDocumentInformationRelationship)[] | null;
        IsPointer: (Handle<IfcDocumentInformationRelationship> | IfcDocumentInformationRelationship)[] | null;
        constructor(Identification: IfcIdentifier, Name: IfcLabel, Description: IfcText | null, Location: IfcURIReference | null, Purpose: IfcText | null, IntendedUse: IfcText | null, Scope: IfcText | null, Revision: IfcLabel | null, DocumentOwner: IfcActorSelect | null, Editors: IfcActorSelect[] | null, CreationTime: IfcDateTime | null, LastRevisionTime: IfcDateTime | null, ElectronicFormat: IfcIdentifier | null, ValidFrom: IfcDate | null, ValidUntil: IfcDate | null, Confidentiality: IfcDocumentConfidentialityEnum | null, Status: IfcDocumentStatusEnum | null);
    }
    class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation);
        RelatedDocuments: (Handle<IfcDocumentInformation> | IfcDocumentInformation)[];
        RelationshipType: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation), RelatedDocuments: (Handle<IfcDocumentInformation> | IfcDocumentInformation)[], RelationshipType: IfcLabel | null);
    }
    class IfcDocumentReference extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ReferencedDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation) | null;
        type: number;
        DocumentRefForObjects: (Handle<IfcRelAssociatesDocument> | IfcRelAssociatesDocument)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, ReferencedDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation) | null);
    }
    class IfcEdge extends IfcTopologicalRepresentationItem {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex));
    }
    class IfcEdgeCurve extends IfcEdge {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        EdgeGeometry: (Handle<IfcCurve> | IfcCurve);
        SameSense: IfcBoolean;
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex), EdgeGeometry: (Handle<IfcCurve> | IfcCurve), SameSense: IfcBoolean);
    }
    class IfcEventTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        ActualDate: IfcDateTime | null;
        EarlyDate: IfcDateTime | null;
        LateDate: IfcDateTime | null;
        ScheduleDate: IfcDateTime | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, ActualDate: IfcDateTime | null, EarlyDate: IfcDateTime | null, LateDate: IfcDateTime | null, ScheduleDate: IfcDateTime | null);
    }
    class IfcExtendedProperties extends IfcPropertyAbstraction {
        Name: IfcIdentifier | null;
        Description: IfcText | null;
        Properties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(Name: IfcIdentifier | null, Description: IfcText | null, Properties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingReference: (Handle<IfcExternalReference> | IfcExternalReference);
        RelatedResourceObjects: IfcResourceObjectSelect[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingReference: (Handle<IfcExternalReference> | IfcExternalReference), RelatedResourceObjects: IfcResourceObjectSelect[]);
    }
    class IfcFace extends IfcTopologicalRepresentationItem {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        type: number;
        HasTextureMaps: (Handle<IfcTextureMap> | IfcTextureMap)[] | null;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[]);
    }
    class IfcFaceBound extends IfcTopologicalRepresentationItem {
        Bound: (Handle<IfcLoop> | IfcLoop);
        Orientation: IfcBoolean;
        type: number;
        constructor(Bound: (Handle<IfcLoop> | IfcLoop), Orientation: IfcBoolean);
    }
    class IfcFaceOuterBound extends IfcFaceBound {
        Bound: (Handle<IfcLoop> | IfcLoop);
        Orientation: IfcBoolean;
        type: number;
        constructor(Bound: (Handle<IfcLoop> | IfcLoop), Orientation: IfcBoolean);
    }
    class IfcFaceSurface extends IfcFace {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        FaceSurface: (Handle<IfcSurface> | IfcSurface);
        SameSense: IfcBoolean;
        type: number;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[], FaceSurface: (Handle<IfcSurface> | IfcSurface), SameSense: IfcBoolean);
    }
    class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition {
        Name: IfcLabel | null;
        TensionFailureX: IfcForceMeasure | null;
        TensionFailureY: IfcForceMeasure | null;
        TensionFailureZ: IfcForceMeasure | null;
        CompressionFailureX: IfcForceMeasure | null;
        CompressionFailureY: IfcForceMeasure | null;
        CompressionFailureZ: IfcForceMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, TensionFailureX: IfcForceMeasure | null, TensionFailureY: IfcForceMeasure | null, TensionFailureZ: IfcForceMeasure | null, CompressionFailureX: IfcForceMeasure | null, CompressionFailureY: IfcForceMeasure | null, CompressionFailureZ: IfcForceMeasure | null);
    }
    class IfcFillAreaStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        FillStyles: IfcFillStyleSelect[];
        ModelorDraughting: IfcBoolean | null;
        type: number;
        constructor(Name: IfcLabel | null, FillStyles: IfcFillStyleSelect[], ModelorDraughting: IfcBoolean | null);
    }
    class IfcGeometricRepresentationContext extends IfcRepresentationContext {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        CoordinateSpaceDimension: IfcDimensionCount;
        Precision: IfcReal | null;
        WorldCoordinateSystem: IfcAxis2Placement;
        TrueNorth: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        HasSubContexts: (Handle<IfcGeometricRepresentationSubContext> | IfcGeometricRepresentationSubContext)[] | null;
        HasCoordinateOperation: (Handle<IfcCoordinateOperation> | IfcCoordinateOperation)[] | null;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null, CoordinateSpaceDimension: IfcDimensionCount, Precision: IfcReal | null, WorldCoordinateSystem: IfcAxis2Placement, TrueNorth: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcGeometricRepresentationItem extends IfcRepresentationItem {
        type: number;
        constructor();
    }
    class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        ParentContext: (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext);
        TargetScale: IfcPositiveRatioMeasure | null;
        TargetView: IfcGeometricProjectionEnum;
        UserDefinedTargetView: IfcLabel | null;
        type: number;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null, ParentContext: (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext), TargetScale: IfcPositiveRatioMeasure | null, TargetView: IfcGeometricProjectionEnum, UserDefinedTargetView: IfcLabel | null);
    }
    class IfcGeometricSet extends IfcGeometricRepresentationItem {
        Elements: IfcGeometricSetSelect[];
        type: number;
        constructor(Elements: IfcGeometricSetSelect[]);
    }
    class IfcGridPlacement extends IfcObjectPlacement {
        PlacementLocation: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection);
        PlacementRefDirection: IfcGridPlacementDirectionSelect | null;
        type: number;
        constructor(PlacementLocation: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection), PlacementRefDirection: IfcGridPlacementDirectionSelect | null);
    }
    class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: IfcBoolean;
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: IfcBoolean);
    }
    class IfcImageTexture extends IfcSurfaceTexture {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        URLReference: IfcURIReference;
        type: number;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null, URLReference: IfcURIReference);
    }
    class IfcIndexedColourMap extends IfcPresentationItem {
        MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
        Opacity: IfcNormalisedRatioMeasure | null;
        Colours: (Handle<IfcColourRgbList> | IfcColourRgbList);
        ColourIndex: IfcPositiveInteger[];
        type: number;
        constructor(MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet), Opacity: IfcNormalisedRatioMeasure | null, Colours: (Handle<IfcColourRgbList> | IfcColourRgbList), ColourIndex: IfcPositiveInteger[]);
    }
    class IfcIndexedTextureMap extends IfcTextureCoordinate {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
        TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList);
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet), TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList));
    }
    class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
        TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList);
        TexCoordIndex: IfcPositiveInteger[][] | null;
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet), TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList), TexCoordIndex: IfcPositiveInteger[][] | null);
    }
    class IfcIrregularTimeSeries extends IfcTimeSeries {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTime;
        EndTime: IfcDateTime;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        Values: (Handle<IfcIrregularTimeSeriesValue> | IfcIrregularTimeSeriesValue)[];
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTime, EndTime: IfcDateTime, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null, Values: (Handle<IfcIrregularTimeSeriesValue> | IfcIrregularTimeSeriesValue)[]);
    }
    class IfcLagTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        LagValue: IfcTimeOrRatioSelect;
        DurationType: IfcTaskDurationEnum;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, LagValue: IfcTimeOrRatioSelect, DurationType: IfcTaskDurationEnum);
    }
    class IfcLightSource extends IfcGeometricRepresentationItem {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null);
    }
    class IfcLightSourceAmbient extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null);
    }
    class IfcLightSourceDirectional extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Orientation: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Orientation: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcLightSourceGoniometric extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        ColourAppearance: (Handle<IfcColourRgb> | IfcColourRgb) | null;
        ColourTemperature: IfcThermodynamicTemperatureMeasure;
        LuminousFlux: IfcLuminousFluxMeasure;
        LightEmissionSource: IfcLightEmissionSourceEnum;
        LightDistributionDataSource: IfcLightDistributionDataSourceSelect;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), ColourAppearance: (Handle<IfcColourRgb> | IfcColourRgb) | null, ColourTemperature: IfcThermodynamicTemperatureMeasure, LuminousFlux: IfcLuminousFluxMeasure, LightEmissionSource: IfcLightEmissionSourceEnum, LightDistributionDataSource: IfcLightDistributionDataSourceSelect);
    }
    class IfcLightSourcePositional extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Radius: IfcPositiveLengthMeasure;
        ConstantAttenuation: IfcReal;
        DistanceAttenuation: IfcReal;
        QuadricAttenuation: IfcReal;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Radius: IfcPositiveLengthMeasure, ConstantAttenuation: IfcReal, DistanceAttenuation: IfcReal, QuadricAttenuation: IfcReal);
    }
    class IfcLightSourceSpot extends IfcLightSourcePositional {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Radius: IfcPositiveLengthMeasure;
        ConstantAttenuation: IfcReal;
        DistanceAttenuation: IfcReal;
        QuadricAttenuation: IfcReal;
        Orientation: (Handle<IfcDirection> | IfcDirection);
        ConcentrationExponent: IfcReal | null;
        SpreadAngle: IfcPositivePlaneAngleMeasure;
        BeamWidthAngle: IfcPositivePlaneAngleMeasure;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Radius: IfcPositiveLengthMeasure, ConstantAttenuation: IfcReal, DistanceAttenuation: IfcReal, QuadricAttenuation: IfcReal, Orientation: (Handle<IfcDirection> | IfcDirection), ConcentrationExponent: IfcReal | null, SpreadAngle: IfcPositivePlaneAngleMeasure, BeamWidthAngle: IfcPositivePlaneAngleMeasure);
    }
    class IfcLocalPlacement extends IfcObjectPlacement {
        PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        RelativePlacement: IfcAxis2Placement;
        type: number;
        constructor(PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, RelativePlacement: IfcAxis2Placement);
    }
    class IfcLoop extends IfcTopologicalRepresentationItem {
        type: number;
        constructor();
    }
    class IfcMappedItem extends IfcRepresentationItem {
        MappingSource: (Handle<IfcRepresentationMap> | IfcRepresentationMap);
        MappingTarget: (Handle<IfcCartesianTransformationOperator> | IfcCartesianTransformationOperator);
        type: number;
        constructor(MappingSource: (Handle<IfcRepresentationMap> | IfcRepresentationMap), MappingTarget: (Handle<IfcCartesianTransformationOperator> | IfcCartesianTransformationOperator));
    }
    class IfcMaterial extends IfcMaterialDefinition {
        Name: IfcLabel;
        Description: IfcText | null;
        Category: IfcLabel | null;
        type: number;
        HasRepresentation: (Handle<IfcMaterialDefinitionRepresentation> | IfcMaterialDefinitionRepresentation)[] | null;
        IsRelatedWith: (Handle<IfcMaterialRelationship> | IfcMaterialRelationship)[] | null;
        RelatesTo: (Handle<IfcMaterialRelationship> | IfcMaterialRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, Category: IfcLabel | null);
    }
    class IfcMaterialConstituent extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Material: (Handle<IfcMaterial> | IfcMaterial);
        Fraction: IfcNormalisedRatioMeasure | null;
        Category: IfcLabel | null;
        type: number;
        ToMaterialConstituentSet: (Handle<IfcMaterialConstituentSet> | IfcMaterialConstituentSet) | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Material: (Handle<IfcMaterial> | IfcMaterial), Fraction: IfcNormalisedRatioMeasure | null, Category: IfcLabel | null);
    }
    class IfcMaterialConstituentSet extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        MaterialConstituents: (Handle<IfcMaterialConstituent> | IfcMaterialConstituent)[] | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, MaterialConstituents: (Handle<IfcMaterialConstituent> | IfcMaterialConstituent)[] | null);
    }
    class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        RepresentedMaterial: (Handle<IfcMaterial> | IfcMaterial);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[], RepresentedMaterial: (Handle<IfcMaterial> | IfcMaterial));
    }
    class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition {
        ForLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet);
        LayerSetDirection: IfcLayerSetDirectionEnum;
        DirectionSense: IfcDirectionSenseEnum;
        OffsetFromReferenceLine: IfcLengthMeasure;
        ReferenceExtent: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ForLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet), LayerSetDirection: IfcLayerSetDirectionEnum, DirectionSense: IfcDirectionSenseEnum, OffsetFromReferenceLine: IfcLengthMeasure, ReferenceExtent: IfcPositiveLengthMeasure | null);
    }
    class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition {
        ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet);
        CardinalPoint: IfcCardinalPointReference | null;
        ReferenceExtent: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet), CardinalPoint: IfcCardinalPointReference | null, ReferenceExtent: IfcPositiveLengthMeasure | null);
    }
    class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage {
        ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet);
        CardinalPoint: IfcCardinalPointReference | null;
        ReferenceExtent: IfcPositiveLengthMeasure | null;
        ForProfileEndSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet);
        CardinalEndPoint: IfcCardinalPointReference | null;
        type: number;
        constructor(ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet), CardinalPoint: IfcCardinalPointReference | null, ReferenceExtent: IfcPositiveLengthMeasure | null, ForProfileEndSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet), CardinalEndPoint: IfcCardinalPointReference | null);
    }
    class IfcMaterialProperties extends IfcExtendedProperties {
        Name: IfcIdentifier | null;
        Description: IfcText | null;
        Properties: (Handle<IfcProperty> | IfcProperty)[];
        Material: (Handle<IfcMaterialDefinition> | IfcMaterialDefinition);
        type: number;
        constructor(Name: IfcIdentifier | null, Description: IfcText | null, Properties: (Handle<IfcProperty> | IfcProperty)[], Material: (Handle<IfcMaterialDefinition> | IfcMaterialDefinition));
    }
    class IfcMaterialRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingMaterial: (Handle<IfcMaterial> | IfcMaterial);
        RelatedMaterials: (Handle<IfcMaterial> | IfcMaterial)[];
        Expression: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingMaterial: (Handle<IfcMaterial> | IfcMaterial), RelatedMaterials: (Handle<IfcMaterial> | IfcMaterial)[], Expression: IfcLabel | null);
    }
    class IfcMirroredProfileDef extends IfcDerivedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef), Label: IfcLabel | null);
    }
    class IfcObjectDefinition extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasAssignments: (Handle<IfcRelAssigns> | IfcRelAssigns)[] | null;
        Nests: (Handle<IfcRelNests> | IfcRelNests)[] | null;
        IsNestedBy: (Handle<IfcRelNests> | IfcRelNests)[] | null;
        HasContext: (Handle<IfcRelDeclares> | IfcRelDeclares)[] | null;
        IsDecomposedBy: (Handle<IfcRelAggregates> | IfcRelAggregates)[] | null;
        Decomposes: (Handle<IfcRelAggregates> | IfcRelAggregates)[] | null;
        HasAssociations: (Handle<IfcRelAssociates> | IfcRelAssociates)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcOpenShell extends IfcConnectedFaceSet {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcOrganizationRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingOrganization: (Handle<IfcOrganization> | IfcOrganization);
        RelatedOrganizations: (Handle<IfcOrganization> | IfcOrganization)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingOrganization: (Handle<IfcOrganization> | IfcOrganization), RelatedOrganizations: (Handle<IfcOrganization> | IfcOrganization)[]);
    }
    class IfcOrientedEdge extends IfcEdge {
        EdgeElement: (Handle<IfcEdge> | IfcEdge);
        Orientation: IfcBoolean;
        type: number;
        constructor(EdgeElement: (Handle<IfcEdge> | IfcEdge), Orientation: IfcBoolean);
    }
    class IfcParameterizedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null);
    }
    class IfcPath extends IfcTopologicalRepresentationItem {
        EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[];
        type: number;
        constructor(EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[]);
    }
    class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        HasQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[];
        Discrimination: IfcLabel;
        Quality: IfcLabel | null;
        Usage: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, HasQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[], Discrimination: IfcLabel, Quality: IfcLabel | null, Usage: IfcLabel | null);
    }
    class IfcPixelTexture extends IfcSurfaceTexture {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        Width: IfcInteger;
        Height: IfcInteger;
        ColourComponents: IfcInteger;
        Pixel: IfcBinary[];
        type: number;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null, Width: IfcInteger, Height: IfcInteger, ColourComponents: IfcInteger, Pixel: IfcBinary[]);
    }
    class IfcPlacement extends IfcGeometricRepresentationItem {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint));
    }
    class IfcPlanarExtent extends IfcGeometricRepresentationItem {
        SizeInX: IfcLengthMeasure;
        SizeInY: IfcLengthMeasure;
        type: number;
        constructor(SizeInX: IfcLengthMeasure, SizeInY: IfcLengthMeasure);
    }
    class IfcPoint extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcPointOnCurve extends IfcPoint {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        PointParameter: IfcParameterValue;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), PointParameter: IfcParameterValue);
    }
    class IfcPointOnSurface extends IfcPoint {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        PointParameterU: IfcParameterValue;
        PointParameterV: IfcParameterValue;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), PointParameterU: IfcParameterValue, PointParameterV: IfcParameterValue);
    }
    class IfcPolyLoop extends IfcLoop {
        Polygon: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        type: number;
        constructor(Polygon: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[]);
    }
    class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: IfcBoolean;
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        PolygonalBoundary: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: IfcBoolean, Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), PolygonalBoundary: (Handle<IfcBoundedCurve> | IfcBoundedCurve));
    }
    class IfcPreDefinedItem extends IfcPresentationItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedProperties extends IfcPropertyAbstraction {
        type: number;
        constructor();
    }
    class IfcPreDefinedTextFont extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcProductDefinitionShape extends IfcProductRepresentation {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        type: number;
        ShapeOfProduct: (Handle<IfcProduct> | IfcProduct)[] | null;
        HasShapeAspects: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[]);
    }
    class IfcProfileProperties extends IfcExtendedProperties {
        Name: IfcIdentifier | null;
        Description: IfcText | null;
        Properties: (Handle<IfcProperty> | IfcProperty)[];
        ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(Name: IfcIdentifier | null, Description: IfcText | null, Properties: (Handle<IfcProperty> | IfcProperty)[], ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcProperty extends IfcPropertyAbstraction {
        Name: IfcIdentifier;
        Description: IfcText | null;
        type: number;
        PartOfPset: (Handle<IfcPropertySet> | IfcPropertySet)[] | null;
        PropertyForDependance: (Handle<IfcPropertyDependencyRelationship> | IfcPropertyDependencyRelationship)[] | null;
        PropertyDependsOn: (Handle<IfcPropertyDependencyRelationship> | IfcPropertyDependencyRelationship)[] | null;
        PartOfComplex: (Handle<IfcComplexProperty> | IfcComplexProperty)[] | null;
        HasConstraints: (Handle<IfcResourceConstraintRelationship> | IfcResourceConstraintRelationship)[] | null;
        HasApprovals: (Handle<IfcResourceApprovalRelationship> | IfcResourceApprovalRelationship)[] | null;
        constructor(Name: IfcIdentifier, Description: IfcText | null);
    }
    class IfcPropertyDefinition extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasContext: (Handle<IfcRelDeclares> | IfcRelDeclares)[] | null;
        HasAssociations: (Handle<IfcRelAssociates> | IfcRelAssociates)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        DependingProperty: (Handle<IfcProperty> | IfcProperty);
        DependantProperty: (Handle<IfcProperty> | IfcProperty);
        Expression: IfcText | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, DependingProperty: (Handle<IfcProperty> | IfcProperty), DependantProperty: (Handle<IfcProperty> | IfcProperty), Expression: IfcText | null);
    }
    class IfcPropertySetDefinition extends IfcPropertyDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        DefinesType: (Handle<IfcTypeObject> | IfcTypeObject)[] | null;
        IsDefinedBy: (Handle<IfcRelDefinesByTemplate> | IfcRelDefinesByTemplate)[] | null;
        DefinesOccurrence: (Handle<IfcRelDefinesByProperties> | IfcRelDefinesByProperties)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcPropertyTemplateDefinition extends IfcPropertyDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcQuantitySet extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRectangleProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure);
    }
    class IfcRegularTimeSeries extends IfcTimeSeries {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTime;
        EndTime: IfcDateTime;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        TimeStep: IfcTimeMeasure;
        Values: (Handle<IfcTimeSeriesValue> | IfcTimeSeriesValue)[];
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTime, EndTime: IfcDateTime, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null, TimeStep: IfcTimeMeasure, Values: (Handle<IfcTimeSeriesValue> | IfcTimeSeriesValue)[]);
    }
    class IfcReinforcementBarProperties extends IfcPreDefinedProperties {
        TotalCrossSectionArea: IfcAreaMeasure;
        SteelGrade: IfcLabel;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        EffectiveDepth: IfcLengthMeasure | null;
        NominalBarDiameter: IfcPositiveLengthMeasure | null;
        BarCount: IfcCountMeasure | null;
        type: number;
        constructor(TotalCrossSectionArea: IfcAreaMeasure, SteelGrade: IfcLabel, BarSurface: IfcReinforcingBarSurfaceEnum | null, EffectiveDepth: IfcLengthMeasure | null, NominalBarDiameter: IfcPositiveLengthMeasure | null, BarCount: IfcCountMeasure | null);
    }
    class IfcRelationship extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedResourceObjects: IfcResourceObjectSelect[];
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatedResourceObjects: IfcResourceObjectSelect[], RelatingApproval: (Handle<IfcApproval> | IfcApproval));
    }
    class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        RelatedResourceObjects: IfcResourceObjectSelect[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint), RelatedResourceObjects: IfcResourceObjectSelect[]);
    }
    class IfcResourceTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        ScheduleWork: IfcDuration | null;
        ScheduleUsage: IfcPositiveRatioMeasure | null;
        ScheduleStart: IfcDateTime | null;
        ScheduleFinish: IfcDateTime | null;
        ScheduleContour: IfcLabel | null;
        LevelingDelay: IfcDuration | null;
        IsOverAllocated: IfcBoolean | null;
        StatusTime: IfcDateTime | null;
        ActualWork: IfcDuration | null;
        ActualUsage: IfcPositiveRatioMeasure | null;
        ActualStart: IfcDateTime | null;
        ActualFinish: IfcDateTime | null;
        RemainingWork: IfcDuration | null;
        RemainingUsage: IfcPositiveRatioMeasure | null;
        Completion: IfcPositiveRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, ScheduleWork: IfcDuration | null, ScheduleUsage: IfcPositiveRatioMeasure | null, ScheduleStart: IfcDateTime | null, ScheduleFinish: IfcDateTime | null, ScheduleContour: IfcLabel | null, LevelingDelay: IfcDuration | null, IsOverAllocated: IfcBoolean | null, StatusTime: IfcDateTime | null, ActualWork: IfcDuration | null, ActualUsage: IfcPositiveRatioMeasure | null, ActualStart: IfcDateTime | null, ActualFinish: IfcDateTime | null, RemainingWork: IfcDuration | null, RemainingUsage: IfcPositiveRatioMeasure | null, Completion: IfcPositiveRatioMeasure | null);
    }
    class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        RoundingRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, RoundingRadius: IfcPositiveLengthMeasure);
    }
    class IfcSectionProperties extends IfcPreDefinedProperties {
        SectionType: IfcSectionTypeEnum;
        StartProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        EndProfile: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        type: number;
        constructor(SectionType: IfcSectionTypeEnum, StartProfile: (Handle<IfcProfileDef> | IfcProfileDef), EndProfile: (Handle<IfcProfileDef> | IfcProfileDef) | null);
    }
    class IfcSectionReinforcementProperties extends IfcPreDefinedProperties {
        LongitudinalStartPosition: IfcLengthMeasure;
        LongitudinalEndPosition: IfcLengthMeasure;
        TransversePosition: IfcLengthMeasure | null;
        ReinforcementRole: IfcReinforcingBarRoleEnum;
        SectionDefinition: (Handle<IfcSectionProperties> | IfcSectionProperties);
        CrossSectionReinforcementDefinitions: (Handle<IfcReinforcementBarProperties> | IfcReinforcementBarProperties)[];
        type: number;
        constructor(LongitudinalStartPosition: IfcLengthMeasure, LongitudinalEndPosition: IfcLengthMeasure, TransversePosition: IfcLengthMeasure | null, ReinforcementRole: IfcReinforcingBarRoleEnum, SectionDefinition: (Handle<IfcSectionProperties> | IfcSectionProperties), CrossSectionReinforcementDefinitions: (Handle<IfcReinforcementBarProperties> | IfcReinforcementBarProperties)[]);
    }
    class IfcSectionedSpine extends IfcGeometricRepresentationItem {
        SpineCurve: (Handle<IfcCompositeCurve> | IfcCompositeCurve);
        CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[];
        CrossSectionPositions: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D)[];
        type: number;
        constructor(SpineCurve: (Handle<IfcCompositeCurve> | IfcCompositeCurve), CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[], CrossSectionPositions: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D)[]);
    }
    class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem {
        SbsmBoundary: IfcShell[];
        type: number;
        constructor(SbsmBoundary: IfcShell[]);
    }
    class IfcSimpleProperty extends IfcProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null);
    }
    class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition {
        Name: IfcLabel | null;
        SlippageX: IfcLengthMeasure | null;
        SlippageY: IfcLengthMeasure | null;
        SlippageZ: IfcLengthMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, SlippageX: IfcLengthMeasure | null, SlippageY: IfcLengthMeasure | null, SlippageZ: IfcLengthMeasure | null);
    }
    class IfcSolidModel extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        LinearForceX: IfcLinearForceMeasure | null;
        LinearForceY: IfcLinearForceMeasure | null;
        LinearForceZ: IfcLinearForceMeasure | null;
        LinearMomentX: IfcLinearMomentMeasure | null;
        LinearMomentY: IfcLinearMomentMeasure | null;
        LinearMomentZ: IfcLinearMomentMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LinearForceX: IfcLinearForceMeasure | null, LinearForceY: IfcLinearForceMeasure | null, LinearForceZ: IfcLinearForceMeasure | null, LinearMomentX: IfcLinearMomentMeasure | null, LinearMomentY: IfcLinearMomentMeasure | null, LinearMomentZ: IfcLinearMomentMeasure | null);
    }
    class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        PlanarForceX: IfcPlanarForceMeasure | null;
        PlanarForceY: IfcPlanarForceMeasure | null;
        PlanarForceZ: IfcPlanarForceMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, PlanarForceX: IfcPlanarForceMeasure | null, PlanarForceY: IfcPlanarForceMeasure | null, PlanarForceZ: IfcPlanarForceMeasure | null);
    }
    class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        DisplacementX: IfcLengthMeasure | null;
        DisplacementY: IfcLengthMeasure | null;
        DisplacementZ: IfcLengthMeasure | null;
        RotationalDisplacementRX: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRY: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRZ: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DisplacementX: IfcLengthMeasure | null, DisplacementY: IfcLengthMeasure | null, DisplacementZ: IfcLengthMeasure | null, RotationalDisplacementRX: IfcPlaneAngleMeasure | null, RotationalDisplacementRY: IfcPlaneAngleMeasure | null, RotationalDisplacementRZ: IfcPlaneAngleMeasure | null);
    }
    class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement {
        Name: IfcLabel | null;
        DisplacementX: IfcLengthMeasure | null;
        DisplacementY: IfcLengthMeasure | null;
        DisplacementZ: IfcLengthMeasure | null;
        RotationalDisplacementRX: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRY: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRZ: IfcPlaneAngleMeasure | null;
        Distortion: IfcCurvatureMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DisplacementX: IfcLengthMeasure | null, DisplacementY: IfcLengthMeasure | null, DisplacementZ: IfcLengthMeasure | null, RotationalDisplacementRX: IfcPlaneAngleMeasure | null, RotationalDisplacementRY: IfcPlaneAngleMeasure | null, RotationalDisplacementRZ: IfcPlaneAngleMeasure | null, Distortion: IfcCurvatureMeasure | null);
    }
    class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        ForceX: IfcForceMeasure | null;
        ForceY: IfcForceMeasure | null;
        ForceZ: IfcForceMeasure | null;
        MomentX: IfcTorqueMeasure | null;
        MomentY: IfcTorqueMeasure | null;
        MomentZ: IfcTorqueMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, ForceX: IfcForceMeasure | null, ForceY: IfcForceMeasure | null, ForceZ: IfcForceMeasure | null, MomentX: IfcTorqueMeasure | null, MomentY: IfcTorqueMeasure | null, MomentZ: IfcTorqueMeasure | null);
    }
    class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce {
        Name: IfcLabel | null;
        ForceX: IfcForceMeasure | null;
        ForceY: IfcForceMeasure | null;
        ForceZ: IfcForceMeasure | null;
        MomentX: IfcTorqueMeasure | null;
        MomentY: IfcTorqueMeasure | null;
        MomentZ: IfcTorqueMeasure | null;
        WarpingMoment: IfcWarpingMomentMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, ForceX: IfcForceMeasure | null, ForceY: IfcForceMeasure | null, ForceZ: IfcForceMeasure | null, MomentX: IfcTorqueMeasure | null, MomentY: IfcTorqueMeasure | null, MomentZ: IfcTorqueMeasure | null, WarpingMoment: IfcWarpingMomentMeasure | null);
    }
    class IfcSubedge extends IfcEdge {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        ParentEdge: (Handle<IfcEdge> | IfcEdge);
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex), ParentEdge: (Handle<IfcEdge> | IfcEdge));
    }
    class IfcSurface extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading {
        SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        Transparency: IfcNormalisedRatioMeasure | null;
        DiffuseColour: IfcColourOrFactor | null;
        TransmissionColour: IfcColourOrFactor | null;
        DiffuseTransmissionColour: IfcColourOrFactor | null;
        ReflectionColour: IfcColourOrFactor | null;
        SpecularColour: IfcColourOrFactor | null;
        SpecularHighlight: IfcSpecularHighlightSelect | null;
        ReflectanceMethod: IfcReflectanceMethodEnum;
        type: number;
        constructor(SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb), Transparency: IfcNormalisedRatioMeasure | null, DiffuseColour: IfcColourOrFactor | null, TransmissionColour: IfcColourOrFactor | null, DiffuseTransmissionColour: IfcColourOrFactor | null, ReflectionColour: IfcColourOrFactor | null, SpecularColour: IfcColourOrFactor | null, SpecularHighlight: IfcSpecularHighlightSelect | null, ReflectanceMethod: IfcReflectanceMethodEnum);
    }
    class IfcSweptAreaSolid extends IfcSolidModel {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcSweptDiskSolid extends IfcSolidModel {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        Radius: IfcPositiveLengthMeasure;
        InnerRadius: IfcPositiveLengthMeasure | null;
        StartParam: IfcParameterValue | null;
        EndParam: IfcParameterValue | null;
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), Radius: IfcPositiveLengthMeasure, InnerRadius: IfcPositiveLengthMeasure | null, StartParam: IfcParameterValue | null, EndParam: IfcParameterValue | null);
    }
    class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        Radius: IfcPositiveLengthMeasure;
        InnerRadius: IfcPositiveLengthMeasure | null;
        StartParam: IfcParameterValue | null;
        EndParam: IfcParameterValue | null;
        FilletRadius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), Radius: IfcPositiveLengthMeasure, InnerRadius: IfcPositiveLengthMeasure | null, StartParam: IfcParameterValue | null, EndParam: IfcParameterValue | null, FilletRadius: IfcPositiveLengthMeasure | null);
    }
    class IfcSweptSurface extends IfcSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcTShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        WebEdgeRadius: IfcNonNegativeLengthMeasure | null;
        WebSlope: IfcPlaneAngleMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, WebEdgeRadius: IfcNonNegativeLengthMeasure | null, WebSlope: IfcPlaneAngleMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcTessellatedItem extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcTextLiteral extends IfcGeometricRepresentationItem {
        Literal: IfcPresentableText;
        Placement: IfcAxis2Placement;
        Path: IfcTextPath;
        type: number;
        constructor(Literal: IfcPresentableText, Placement: IfcAxis2Placement, Path: IfcTextPath);
    }
    class IfcTextLiteralWithExtent extends IfcTextLiteral {
        Literal: IfcPresentableText;
        Placement: IfcAxis2Placement;
        Path: IfcTextPath;
        Extent: (Handle<IfcPlanarExtent> | IfcPlanarExtent);
        BoxAlignment: IfcBoxAlignment;
        type: number;
        constructor(Literal: IfcPresentableText, Placement: IfcAxis2Placement, Path: IfcTextPath, Extent: (Handle<IfcPlanarExtent> | IfcPlanarExtent), BoxAlignment: IfcBoxAlignment);
    }
    class IfcTextStyleFontModel extends IfcPreDefinedTextFont {
        Name: IfcLabel;
        FontFamily: IfcTextFontName[];
        FontStyle: IfcFontStyle | null;
        FontVariant: IfcFontVariant | null;
        FontWeight: IfcFontWeight | null;
        FontSize: IfcSizeSelect;
        type: number;
        constructor(Name: IfcLabel, FontFamily: IfcTextFontName[], FontStyle: IfcFontStyle | null, FontVariant: IfcFontVariant | null, FontWeight: IfcFontWeight | null, FontSize: IfcSizeSelect);
    }
    class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        BottomXDim: IfcPositiveLengthMeasure;
        TopXDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        TopXOffset: IfcLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, BottomXDim: IfcPositiveLengthMeasure, TopXDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, TopXOffset: IfcLengthMeasure);
    }
    class IfcTypeObject extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        type: number;
        Types: (Handle<IfcRelDefinesByType> | IfcRelDefinesByType)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null);
    }
    class IfcTypeProcess extends IfcTypeObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        type: number;
        OperatesOn: (Handle<IfcRelAssignsToProcess> | IfcRelAssignsToProcess)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null);
    }
    class IfcTypeProduct extends IfcTypeObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        type: number;
        ReferencedBy: (Handle<IfcRelAssignsToProduct> | IfcRelAssignsToProduct)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null);
    }
    class IfcTypeResource extends IfcTypeObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        type: number;
        ResourceOf: (Handle<IfcRelAssignsToResource> | IfcRelAssignsToResource)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null);
    }
    class IfcUShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        EdgeRadius: IfcNonNegativeLengthMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, EdgeRadius: IfcNonNegativeLengthMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcVector extends IfcGeometricRepresentationItem {
        Orientation: (Handle<IfcDirection> | IfcDirection);
        Magnitude: IfcLengthMeasure;
        type: number;
        constructor(Orientation: (Handle<IfcDirection> | IfcDirection), Magnitude: IfcLengthMeasure);
    }
    class IfcVertexLoop extends IfcLoop {
        LoopVertex: (Handle<IfcVertex> | IfcVertex);
        type: number;
        constructor(LoopVertex: (Handle<IfcVertex> | IfcVertex));
    }
    class IfcWindowStyle extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ConstructionType: IfcWindowStyleConstructionEnum;
        OperationType: IfcWindowStyleOperationEnum;
        ParameterTakesPrecedence: IfcBoolean;
        Sizeable: IfcBoolean;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ConstructionType: IfcWindowStyleConstructionEnum, OperationType: IfcWindowStyleOperationEnum, ParameterTakesPrecedence: IfcBoolean, Sizeable: IfcBoolean);
    }
    class IfcZShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        EdgeRadius: IfcNonNegativeLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, EdgeRadius: IfcNonNegativeLengthMeasure | null);
    }
    class IfcAdvancedFace extends IfcFaceSurface {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        FaceSurface: (Handle<IfcSurface> | IfcSurface);
        SameSense: IfcBoolean;
        type: number;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[], FaceSurface: (Handle<IfcSurface> | IfcSurface), SameSense: IfcBoolean);
    }
    class IfcAnnotationFillArea extends IfcGeometricRepresentationItem {
        OuterBoundary: (Handle<IfcCurve> | IfcCurve);
        InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null;
        type: number;
        constructor(OuterBoundary: (Handle<IfcCurve> | IfcCurve), InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null);
    }
    class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        BottomFlangeWidth: IfcPositiveLengthMeasure;
        OverallDepth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        BottomFlangeThickness: IfcPositiveLengthMeasure;
        BottomFlangeFilletRadius: IfcNonNegativeLengthMeasure | null;
        TopFlangeWidth: IfcPositiveLengthMeasure;
        TopFlangeThickness: IfcPositiveLengthMeasure | null;
        TopFlangeFilletRadius: IfcNonNegativeLengthMeasure | null;
        BottomFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        BottomFlangeSlope: IfcPlaneAngleMeasure | null;
        TopFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        TopFlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, BottomFlangeWidth: IfcPositiveLengthMeasure, OverallDepth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, BottomFlangeThickness: IfcPositiveLengthMeasure, BottomFlangeFilletRadius: IfcNonNegativeLengthMeasure | null, TopFlangeWidth: IfcPositiveLengthMeasure, TopFlangeThickness: IfcPositiveLengthMeasure | null, TopFlangeFilletRadius: IfcNonNegativeLengthMeasure | null, BottomFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, BottomFlangeSlope: IfcPlaneAngleMeasure | null, TopFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, TopFlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcAxis1Placement extends IfcPlacement {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Axis: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Axis: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcAxis2Placement2D extends IfcPlacement {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        RefDirection: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint), RefDirection: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcAxis2Placement3D extends IfcPlacement {
        Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Axis: (Handle<IfcDirection> | IfcDirection) | null;
        RefDirection: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Axis: (Handle<IfcDirection> | IfcDirection) | null, RefDirection: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcBooleanResult extends IfcGeometricRepresentationItem {
        Operator: IfcBooleanOperator;
        FirstOperand: IfcBooleanOperand;
        SecondOperand: IfcBooleanOperand;
        type: number;
        constructor(Operator: IfcBooleanOperator, FirstOperand: IfcBooleanOperand, SecondOperand: IfcBooleanOperand);
    }
    class IfcBoundedSurface extends IfcSurface {
        type: number;
        constructor();
    }
    class IfcBoundingBox extends IfcGeometricRepresentationItem {
        Corner: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        ZDim: IfcPositiveLengthMeasure;
        type: number;
        constructor(Corner: (Handle<IfcCartesianPoint> | IfcCartesianPoint), XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, ZDim: IfcPositiveLengthMeasure);
    }
    class IfcBoxedHalfSpace extends IfcHalfSpaceSolid {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: IfcBoolean;
        Enclosure: (Handle<IfcBoundingBox> | IfcBoundingBox);
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: IfcBoolean, Enclosure: (Handle<IfcBoundingBox> | IfcBoundingBox));
    }
    class IfcCShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        Width: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        Girth: IfcPositiveLengthMeasure;
        InternalFilletRadius: IfcNonNegativeLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, Width: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure, Girth: IfcPositiveLengthMeasure, InternalFilletRadius: IfcNonNegativeLengthMeasure | null);
    }
    class IfcCartesianPoint extends IfcPoint {
        Coordinates: IfcLengthMeasure[];
        type: number;
        constructor(Coordinates: IfcLengthMeasure[]);
    }
    class IfcCartesianPointList extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcCartesianPointList2D extends IfcCartesianPointList {
        CoordList: IfcLengthMeasure[][];
        type: number;
        constructor(CoordList: IfcLengthMeasure[][]);
    }
    class IfcCartesianPointList3D extends IfcCartesianPointList {
        CoordList: IfcLengthMeasure[][];
        type: number;
        constructor(CoordList: IfcLengthMeasure[][]);
    }
    class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null);
    }
    class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null);
    }
    class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        Scale2: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null, Scale2: IfcReal | null);
    }
    class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        Axis3: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null, Axis3: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        Axis3: (Handle<IfcDirection> | IfcDirection) | null;
        Scale2: IfcReal | null;
        Scale3: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null, Axis3: (Handle<IfcDirection> | IfcDirection) | null, Scale2: IfcReal | null, Scale3: IfcReal | null);
    }
    class IfcCircleProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Radius: IfcPositiveLengthMeasure);
    }
    class IfcClosedShell extends IfcConnectedFaceSet {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcColourRgb extends IfcColourSpecification {
        Name: IfcLabel | null;
        Red: IfcNormalisedRatioMeasure;
        Green: IfcNormalisedRatioMeasure;
        Blue: IfcNormalisedRatioMeasure;
        type: number;
        constructor(Name: IfcLabel | null, Red: IfcNormalisedRatioMeasure, Green: IfcNormalisedRatioMeasure, Blue: IfcNormalisedRatioMeasure);
    }
    class IfcComplexProperty extends IfcProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        UsageName: IfcIdentifier;
        HasProperties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, UsageName: IfcIdentifier, HasProperties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcCompositeCurveSegment extends IfcGeometricRepresentationItem {
        Transition: IfcTransitionCode;
        SameSense: IfcBoolean;
        ParentCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        UsingCurves: (Handle<IfcCompositeCurve> | IfcCompositeCurve)[] | null;
        constructor(Transition: IfcTransitionCode, SameSense: IfcBoolean, ParentCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcConstructionResourceType extends IfcTypeResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null);
    }
    class IfcContext extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        Phase: IfcLabel | null;
        RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null;
        UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null;
        type: number;
        IsDefinedBy: (Handle<IfcRelDefinesByProperties> | IfcRelDefinesByProperties)[] | null;
        Declares: (Handle<IfcRelDeclares> | IfcRelDeclares)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, Phase: IfcLabel | null, RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null, UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null);
    }
    class IfcCrewResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcCrewResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcCrewResourceTypeEnum);
    }
    class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcCsgSolid extends IfcSolidModel {
        TreeRootExpression: IfcCsgSelect;
        type: number;
        constructor(TreeRootExpression: IfcCsgSelect);
    }
    class IfcCurve extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcCurveBoundedPlane extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcPlane> | IfcPlane);
        OuterBoundary: (Handle<IfcCurve> | IfcCurve);
        InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null;
        type: number;
        constructor(BasisSurface: (Handle<IfcPlane> | IfcPlane), OuterBoundary: (Handle<IfcCurve> | IfcCurve), InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null);
    }
    class IfcCurveBoundedSurface extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        Boundaries: (Handle<IfcBoundaryCurve> | IfcBoundaryCurve)[];
        ImplicitOuter: IfcBoolean;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), Boundaries: (Handle<IfcBoundaryCurve> | IfcBoundaryCurve)[], ImplicitOuter: IfcBoolean);
    }
    class IfcDirection extends IfcGeometricRepresentationItem {
        DirectionRatios: IfcReal[];
        type: number;
        constructor(DirectionRatios: IfcReal[]);
    }
    class IfcDoorStyle extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        OperationType: IfcDoorStyleOperationEnum;
        ConstructionType: IfcDoorStyleConstructionEnum;
        ParameterTakesPrecedence: IfcBoolean;
        Sizeable: IfcBoolean;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, OperationType: IfcDoorStyleOperationEnum, ConstructionType: IfcDoorStyleConstructionEnum, ParameterTakesPrecedence: IfcBoolean, Sizeable: IfcBoolean);
    }
    class IfcEdgeLoop extends IfcLoop {
        EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[];
        type: number;
        constructor(EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[]);
    }
    class IfcElementQuantity extends IfcQuantitySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        MethodOfMeasurement: IfcLabel | null;
        Quantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, MethodOfMeasurement: IfcLabel | null, Quantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[]);
    }
    class IfcElementType extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcElementarySurface extends IfcSurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcEllipseProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        SemiAxis1: IfcPositiveLengthMeasure;
        SemiAxis2: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, SemiAxis1: IfcPositiveLengthMeasure, SemiAxis2: IfcPositiveLengthMeasure);
    }
    class IfcEventType extends IfcTypeProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        PredefinedType: IfcEventTypeEnum;
        EventTriggerType: IfcEventTriggerTypeEnum;
        UserDefinedEventTriggerType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null, PredefinedType: IfcEventTypeEnum, EventTriggerType: IfcEventTriggerTypeEnum, UserDefinedEventTriggerType: IfcLabel | null);
    }
    class IfcExtrudedAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcPositiveLengthMeasure;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcPositiveLengthMeasure);
    }
    class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcPositiveLengthMeasure;
        EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcPositiveLengthMeasure, EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem {
        FbsmFaces: (Handle<IfcConnectedFaceSet> | IfcConnectedFaceSet)[];
        type: number;
        constructor(FbsmFaces: (Handle<IfcConnectedFaceSet> | IfcConnectedFaceSet)[]);
    }
    class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem {
        HatchLineAppearance: (Handle<IfcCurveStyle> | IfcCurveStyle);
        StartOfNextHatchLine: IfcHatchLineDistanceSelect;
        PointOfReferenceHatchLine: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null;
        PatternStart: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null;
        HatchLineAngle: IfcPlaneAngleMeasure;
        type: number;
        constructor(HatchLineAppearance: (Handle<IfcCurveStyle> | IfcCurveStyle), StartOfNextHatchLine: IfcHatchLineDistanceSelect, PointOfReferenceHatchLine: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null, PatternStart: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null, HatchLineAngle: IfcPlaneAngleMeasure);
    }
    class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem {
        TilingPattern: (Handle<IfcVector> | IfcVector)[];
        Tiles: (Handle<IfcStyledItem> | IfcStyledItem)[];
        TilingScale: IfcPositiveRatioMeasure;
        type: number;
        constructor(TilingPattern: (Handle<IfcVector> | IfcVector)[], Tiles: (Handle<IfcStyledItem> | IfcStyledItem)[], TilingScale: IfcPositiveRatioMeasure);
    }
    class IfcFixedReferenceSweptAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Directrix: (Handle<IfcCurve> | IfcCurve);
        StartParam: IfcParameterValue | null;
        EndParam: IfcParameterValue | null;
        FixedReference: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Directrix: (Handle<IfcCurve> | IfcCurve), StartParam: IfcParameterValue | null, EndParam: IfcParameterValue | null, FixedReference: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcFurnishingElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFurnitureType extends IfcFurnishingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        AssemblyPlace: IfcAssemblyPlaceEnum;
        PredefinedType: IfcFurnitureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, AssemblyPlace: IfcAssemblyPlaceEnum, PredefinedType: IfcFurnitureTypeEnum | null);
    }
    class IfcGeographicElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcGeographicElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcGeographicElementTypeEnum);
    }
    class IfcGeometricCurveSet extends IfcGeometricSet {
        Elements: IfcGeometricSetSelect[];
        type: number;
        constructor(Elements: IfcGeometricSetSelect[]);
    }
    class IfcIShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        OverallWidth: IfcPositiveLengthMeasure;
        OverallDepth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, OverallWidth: IfcPositiveLengthMeasure, OverallDepth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcIndexedPolygonalFace extends IfcTessellatedItem {
        CoordIndex: IfcPositiveInteger[];
        type: number;
        ToFaceSet: (Handle<IfcPolygonalFaceSet> | IfcPolygonalFaceSet)[] | null;
        constructor(CoordIndex: IfcPositiveInteger[]);
    }
    class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace {
        CoordIndex: IfcPositiveInteger[];
        InnerCoordIndices: IfcPositiveInteger[][];
        type: number;
        constructor(CoordIndex: IfcPositiveInteger[], InnerCoordIndices: IfcPositiveInteger[][]);
    }
    class IfcLShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        Width: IfcPositiveLengthMeasure | null;
        Thickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        EdgeRadius: IfcNonNegativeLengthMeasure | null;
        LegSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, Width: IfcPositiveLengthMeasure | null, Thickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, EdgeRadius: IfcNonNegativeLengthMeasure | null, LegSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcLaborResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcLaborResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcLaborResourceTypeEnum);
    }
    class IfcLine extends IfcCurve {
        Pnt: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Dir: (Handle<IfcVector> | IfcVector);
        type: number;
        constructor(Pnt: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Dir: (Handle<IfcVector> | IfcVector));
    }
    class IfcManifoldSolidBrep extends IfcSolidModel {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcObject extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        IsDeclaredBy: (Handle<IfcRelDefinesByObject> | IfcRelDefinesByObject)[] | null;
        Declares: (Handle<IfcRelDefinesByObject> | IfcRelDefinesByObject)[] | null;
        IsTypedBy: (Handle<IfcRelDefinesByType> | IfcRelDefinesByType)[] | null;
        IsDefinedBy: (Handle<IfcRelDefinesByProperties> | IfcRelDefinesByProperties)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcOffsetCurve2D extends IfcCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Distance: IfcLengthMeasure;
        SelfIntersect: IfcLogical;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Distance: IfcLengthMeasure, SelfIntersect: IfcLogical);
    }
    class IfcOffsetCurve3D extends IfcCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Distance: IfcLengthMeasure;
        SelfIntersect: IfcLogical;
        RefDirection: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Distance: IfcLengthMeasure, SelfIntersect: IfcLogical, RefDirection: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcPcurve extends IfcCurve {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        ReferenceCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), ReferenceCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcPlanarBox extends IfcPlanarExtent {
        SizeInX: IfcLengthMeasure;
        SizeInY: IfcLengthMeasure;
        Placement: IfcAxis2Placement;
        type: number;
        constructor(SizeInX: IfcLengthMeasure, SizeInY: IfcLengthMeasure, Placement: IfcAxis2Placement);
    }
    class IfcPlane extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcPreDefinedColour extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedCurveFont extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedPropertySet extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcProcedureType extends IfcTypeProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        PredefinedType: IfcProcedureTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null, PredefinedType: IfcProcedureTypeEnum);
    }
    class IfcProcess extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        type: number;
        IsPredecessorTo: (Handle<IfcRelSequence> | IfcRelSequence)[] | null;
        IsSuccessorFrom: (Handle<IfcRelSequence> | IfcRelSequence)[] | null;
        OperatesOn: (Handle<IfcRelAssignsToProcess> | IfcRelAssignsToProcess)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null);
    }
    class IfcProduct extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ReferencedBy: (Handle<IfcRelAssignsToProduct> | IfcRelAssignsToProduct)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcProject extends IfcContext {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        Phase: IfcLabel | null;
        RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null;
        UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, Phase: IfcLabel | null, RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null, UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null);
    }
    class IfcProjectLibrary extends IfcContext {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        Phase: IfcLabel | null;
        RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null;
        UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, Phase: IfcLabel | null, RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null, UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null);
    }
    class IfcPropertyBoundedValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        UpperBoundValue: IfcValue | null;
        LowerBoundValue: IfcValue | null;
        Unit: IfcUnit | null;
        SetPointValue: IfcValue | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, UpperBoundValue: IfcValue | null, LowerBoundValue: IfcValue | null, Unit: IfcUnit | null, SetPointValue: IfcValue | null);
    }
    class IfcPropertyEnumeratedValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        EnumerationValues: IfcValue[] | null;
        EnumerationReference: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, EnumerationValues: IfcValue[] | null, EnumerationReference: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null);
    }
    class IfcPropertyListValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        ListValues: IfcValue[] | null;
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, ListValues: IfcValue[] | null, Unit: IfcUnit | null);
    }
    class IfcPropertyReferenceValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        UsageName: IfcText | null;
        PropertyReference: IfcObjectReferenceSelect | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, UsageName: IfcText | null, PropertyReference: IfcObjectReferenceSelect | null);
    }
    class IfcPropertySet extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        HasProperties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, HasProperties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        TemplateType: IfcPropertySetTemplateTypeEnum | null;
        ApplicableEntity: IfcIdentifier | null;
        HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[];
        type: number;
        Defines: (Handle<IfcRelDefinesByTemplate> | IfcRelDefinesByTemplate)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, TemplateType: IfcPropertySetTemplateTypeEnum | null, ApplicableEntity: IfcIdentifier | null, HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[]);
    }
    class IfcPropertySingleValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        NominalValue: IfcValue | null;
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, NominalValue: IfcValue | null, Unit: IfcUnit | null);
    }
    class IfcPropertyTableValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Description: IfcText | null;
        DefiningValues: IfcValue[] | null;
        DefinedValues: IfcValue[] | null;
        Expression: IfcText | null;
        DefiningUnit: IfcUnit | null;
        DefinedUnit: IfcUnit | null;
        CurveInterpolation: IfcCurveInterpolationEnum | null;
        type: number;
        constructor(Name: IfcIdentifier, Description: IfcText | null, DefiningValues: IfcValue[] | null, DefinedValues: IfcValue[] | null, Expression: IfcText | null, DefiningUnit: IfcUnit | null, DefinedUnit: IfcUnit | null, CurveInterpolation: IfcCurveInterpolationEnum | null);
    }
    class IfcPropertyTemplate extends IfcPropertyTemplateDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        PartOfComplexTemplate: (Handle<IfcComplexPropertyTemplate> | IfcComplexPropertyTemplate)[] | null;
        PartOfPsetTemplate: (Handle<IfcPropertySetTemplate> | IfcPropertySetTemplate)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcProxy extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        ProxyType: IfcObjectTypeEnum;
        Tag: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, ProxyType: IfcObjectTypeEnum, Tag: IfcLabel | null);
    }
    class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        InnerFilletRadius: IfcNonNegativeLengthMeasure | null;
        OuterFilletRadius: IfcNonNegativeLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure, InnerFilletRadius: IfcNonNegativeLengthMeasure | null, OuterFilletRadius: IfcNonNegativeLengthMeasure | null);
    }
    class IfcRectangularPyramid extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        XLength: IfcPositiveLengthMeasure;
        YLength: IfcPositiveLengthMeasure;
        Height: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), XLength: IfcPositiveLengthMeasure, YLength: IfcPositiveLengthMeasure, Height: IfcPositiveLengthMeasure);
    }
    class IfcRectangularTrimmedSurface extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        U1: IfcParameterValue;
        V1: IfcParameterValue;
        U2: IfcParameterValue;
        V2: IfcParameterValue;
        Usense: IfcBoolean;
        Vsense: IfcBoolean;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), U1: IfcParameterValue, V1: IfcParameterValue, U2: IfcParameterValue, V2: IfcParameterValue, Usense: IfcBoolean, Vsense: IfcBoolean);
    }
    class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        DefinitionType: IfcLabel | null;
        ReinforcementSectionDefinitions: (Handle<IfcSectionReinforcementProperties> | IfcSectionReinforcementProperties)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, DefinitionType: IfcLabel | null, ReinforcementSectionDefinitions: (Handle<IfcSectionReinforcementProperties> | IfcSectionReinforcementProperties)[]);
    }
    class IfcRelAssigns extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null);
    }
    class IfcRelAssignsToActor extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingActor: (Handle<IfcActor> | IfcActor);
        ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingActor: (Handle<IfcActor> | IfcActor), ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null);
    }
    class IfcRelAssignsToControl extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingControl: (Handle<IfcControl> | IfcControl);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingControl: (Handle<IfcControl> | IfcControl));
    }
    class IfcRelAssignsToGroup extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingGroup: (Handle<IfcGroup> | IfcGroup);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingGroup: (Handle<IfcGroup> | IfcGroup));
    }
    class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingGroup: (Handle<IfcGroup> | IfcGroup);
        Factor: IfcRatioMeasure;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingGroup: (Handle<IfcGroup> | IfcGroup), Factor: IfcRatioMeasure);
    }
    class IfcRelAssignsToProcess extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingProcess: IfcProcessSelect;
        QuantityInProcess: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingProcess: IfcProcessSelect, QuantityInProcess: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null);
    }
    class IfcRelAssignsToProduct extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingProduct: IfcProductSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingProduct: IfcProductSelect);
    }
    class IfcRelAssignsToResource extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingResource: IfcResourceSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingResource: IfcResourceSelect);
    }
    class IfcRelAssociates extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[]);
    }
    class IfcRelAssociatesApproval extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingApproval: (Handle<IfcApproval> | IfcApproval));
    }
    class IfcRelAssociatesClassification extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingClassification: IfcClassificationSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingClassification: IfcClassificationSelect);
    }
    class IfcRelAssociatesConstraint extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        Intent: IfcLabel | null;
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], Intent: IfcLabel | null, RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint));
    }
    class IfcRelAssociatesDocument extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingDocument: IfcDocumentSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingDocument: IfcDocumentSelect);
    }
    class IfcRelAssociatesLibrary extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingLibrary: IfcLibrarySelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingLibrary: IfcLibrarySelect);
    }
    class IfcRelAssociatesMaterial extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingMaterial: IfcMaterialSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingMaterial: IfcMaterialSelect);
    }
    class IfcRelConnects extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRelConnectsElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement));
    }
    class IfcRelConnectsPathElements extends IfcRelConnectsElements {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        RelatingPriorities: IfcInteger[] | null;
        RelatedPriorities: IfcInteger[] | null;
        RelatedConnectionType: IfcConnectionTypeEnum;
        RelatingConnectionType: IfcConnectionTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement), RelatingPriorities: IfcInteger[] | null, RelatedPriorities: IfcInteger[] | null, RelatedConnectionType: IfcConnectionTypeEnum, RelatingConnectionType: IfcConnectionTypeEnum);
    }
    class IfcRelConnectsPortToElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingPort: (Handle<IfcPort> | IfcPort);
        RelatedElement: (Handle<IfcDistributionElement> | IfcDistributionElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingPort: (Handle<IfcPort> | IfcPort), RelatedElement: (Handle<IfcDistributionElement> | IfcDistributionElement));
    }
    class IfcRelConnectsPorts extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingPort: (Handle<IfcPort> | IfcPort);
        RelatedPort: (Handle<IfcPort> | IfcPort);
        RealizingElement: (Handle<IfcElement> | IfcElement) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingPort: (Handle<IfcPort> | IfcPort), RelatedPort: (Handle<IfcPort> | IfcPort), RealizingElement: (Handle<IfcElement> | IfcElement) | null);
    }
    class IfcRelConnectsStructuralActivity extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: IfcStructuralActivityAssignmentSelect;
        RelatedStructuralActivity: (Handle<IfcStructuralActivity> | IfcStructuralActivity);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingElement: IfcStructuralActivityAssignmentSelect, RelatedStructuralActivity: (Handle<IfcStructuralActivity> | IfcStructuralActivity));
    }
    class IfcRelConnectsStructuralMember extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember);
        RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection);
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null;
        SupportedLength: IfcLengthMeasure | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember), RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection), AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null, SupportedLength: IfcLengthMeasure | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember);
        RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection);
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null;
        SupportedLength: IfcLengthMeasure | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ConnectionConstraint: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember), RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection), AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null, SupportedLength: IfcLengthMeasure | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ConnectionConstraint: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry));
    }
    class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        RealizingElements: (Handle<IfcElement> | IfcElement)[];
        ConnectionType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement), RealizingElements: (Handle<IfcElement> | IfcElement)[], ConnectionType: IfcLabel | null);
    }
    class IfcRelContainedInSpatialStructure extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedElements: (Handle<IfcProduct> | IfcProduct)[];
        RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedElements: (Handle<IfcProduct> | IfcProduct)[], RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement));
    }
    class IfcRelCoversBldgElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingBuildingElement: (Handle<IfcElement> | IfcElement);
        RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingBuildingElement: (Handle<IfcElement> | IfcElement), RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[]);
    }
    class IfcRelCoversSpaces extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: (Handle<IfcSpace> | IfcSpace);
        RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: (Handle<IfcSpace> | IfcSpace), RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[]);
    }
    class IfcRelDeclares extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingContext: (Handle<IfcContext> | IfcContext);
        RelatedDefinitions: IfcDefinitionSelect[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingContext: (Handle<IfcContext> | IfcContext), RelatedDefinitions: IfcDefinitionSelect[]);
    }
    class IfcRelDecomposes extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRelDefines extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRelDefinesByObject extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        RelatingObject: (Handle<IfcObject> | IfcObject);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[], RelatingObject: (Handle<IfcObject> | IfcObject));
    }
    class IfcRelDefinesByProperties extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatingPropertyDefinition: IfcPropertySetDefinitionSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatingPropertyDefinition: IfcPropertySetDefinitionSelect);
    }
    class IfcRelDefinesByTemplate extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[];
        RelatingTemplate: (Handle<IfcPropertySetTemplate> | IfcPropertySetTemplate);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[], RelatingTemplate: (Handle<IfcPropertySetTemplate> | IfcPropertySetTemplate));
    }
    class IfcRelDefinesByType extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        RelatingType: (Handle<IfcTypeObject> | IfcTypeObject);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[], RelatingType: (Handle<IfcTypeObject> | IfcTypeObject));
    }
    class IfcRelFillsElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingOpeningElement: (Handle<IfcOpeningElement> | IfcOpeningElement);
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingOpeningElement: (Handle<IfcOpeningElement> | IfcOpeningElement), RelatedBuildingElement: (Handle<IfcElement> | IfcElement));
    }
    class IfcRelFlowControlElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedControlElements: (Handle<IfcDistributionControlElement> | IfcDistributionControlElement)[];
        RelatingFlowElement: (Handle<IfcDistributionFlowElement> | IfcDistributionFlowElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedControlElements: (Handle<IfcDistributionControlElement> | IfcDistributionControlElement)[], RelatingFlowElement: (Handle<IfcDistributionFlowElement> | IfcDistributionFlowElement));
    }
    class IfcRelInterferesElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        InterferenceGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        InterferenceType: IfcIdentifier | null;
        ImpliedOrder: logical;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement), InterferenceGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, InterferenceType: IfcIdentifier | null, ImpliedOrder: logical);
    }
    class IfcRelNests extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition);
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition), RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[]);
    }
    class IfcRelProjectsElement extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedFeatureElement: (Handle<IfcFeatureElementAddition> | IfcFeatureElementAddition);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedFeatureElement: (Handle<IfcFeatureElementAddition> | IfcFeatureElementAddition));
    }
    class IfcRelReferencedInSpatialStructure extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedElements: (Handle<IfcProduct> | IfcProduct)[];
        RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedElements: (Handle<IfcProduct> | IfcProduct)[], RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement));
    }
    class IfcRelSequence extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingProcess: (Handle<IfcProcess> | IfcProcess);
        RelatedProcess: (Handle<IfcProcess> | IfcProcess);
        TimeLag: (Handle<IfcLagTime> | IfcLagTime) | null;
        SequenceType: IfcSequenceEnum | null;
        UserDefinedSequenceType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingProcess: (Handle<IfcProcess> | IfcProcess), RelatedProcess: (Handle<IfcProcess> | IfcProcess), TimeLag: (Handle<IfcLagTime> | IfcLagTime) | null, SequenceType: IfcSequenceEnum | null, UserDefinedSequenceType: IfcLabel | null);
    }
    class IfcRelServicesBuildings extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSystem: (Handle<IfcSystem> | IfcSystem);
        RelatedBuildings: (Handle<IfcSpatialElement> | IfcSpatialElement)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSystem: (Handle<IfcSystem> | IfcSystem), RelatedBuildings: (Handle<IfcSpatialElement> | IfcSpatialElement)[]);
    }
    class IfcRelSpaceBoundary extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: IfcSpaceBoundarySelect;
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum;
        InternalOrExternalBoundary: IfcInternalOrExternalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: IfcSpaceBoundarySelect, RelatedBuildingElement: (Handle<IfcElement> | IfcElement), ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum, InternalOrExternalBoundary: IfcInternalOrExternalEnum);
    }
    class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: IfcSpaceBoundarySelect;
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum;
        InternalOrExternalBoundary: IfcInternalOrExternalEnum;
        ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null;
        type: number;
        InnerBoundaries: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: IfcSpaceBoundarySelect, RelatedBuildingElement: (Handle<IfcElement> | IfcElement), ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum, InternalOrExternalBoundary: IfcInternalOrExternalEnum, ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null);
    }
    class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: IfcSpaceBoundarySelect;
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum;
        InternalOrExternalBoundary: IfcInternalOrExternalEnum;
        ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null;
        CorrespondingBoundary: (Handle<IfcRelSpaceBoundary2ndLevel> | IfcRelSpaceBoundary2ndLevel) | null;
        type: number;
        Corresponds: (Handle<IfcRelSpaceBoundary2ndLevel> | IfcRelSpaceBoundary2ndLevel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: IfcSpaceBoundarySelect, RelatedBuildingElement: (Handle<IfcElement> | IfcElement), ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum, InternalOrExternalBoundary: IfcInternalOrExternalEnum, ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null, CorrespondingBoundary: (Handle<IfcRelSpaceBoundary2ndLevel> | IfcRelSpaceBoundary2ndLevel) | null);
    }
    class IfcRelVoidsElement extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingBuildingElement: (Handle<IfcElement> | IfcElement);
        RelatedOpeningElement: (Handle<IfcFeatureElementSubtraction> | IfcFeatureElementSubtraction);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingBuildingElement: (Handle<IfcElement> | IfcElement), RelatedOpeningElement: (Handle<IfcFeatureElementSubtraction> | IfcFeatureElementSubtraction));
    }
    class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment {
        Transition: IfcTransitionCode;
        SameSense: IfcBoolean;
        ParentCurve: (Handle<IfcCurve> | IfcCurve);
        ParamLength: IfcParameterValue;
        type: number;
        constructor(Transition: IfcTransitionCode, SameSense: IfcBoolean, ParentCurve: (Handle<IfcCurve> | IfcCurve), ParamLength: IfcParameterValue);
    }
    class IfcResource extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        type: number;
        ResourceOf: (Handle<IfcRelAssignsToResource> | IfcRelAssignsToResource)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null);
    }
    class IfcRevolvedAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        Angle: IfcPlaneAngleMeasure;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement), Angle: IfcPlaneAngleMeasure);
    }
    class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        Angle: IfcPlaneAngleMeasure;
        EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement), Angle: IfcPlaneAngleMeasure, EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcRightCircularCone extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Height: IfcPositiveLengthMeasure;
        BottomRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Height: IfcPositiveLengthMeasure, BottomRadius: IfcPositiveLengthMeasure);
    }
    class IfcRightCircularCylinder extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Height: IfcPositiveLengthMeasure;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Height: IfcPositiveLengthMeasure, Radius: IfcPositiveLengthMeasure);
    }
    class IfcSimplePropertyTemplate extends IfcPropertyTemplate {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        TemplateType: IfcSimplePropertyTemplateTypeEnum | null;
        PrimaryMeasureType: IfcLabel | null;
        SecondaryMeasureType: IfcLabel | null;
        Enumerators: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null;
        PrimaryUnit: IfcUnit | null;
        SecondaryUnit: IfcUnit | null;
        Expression: IfcLabel | null;
        AccessState: IfcStateEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, TemplateType: IfcSimplePropertyTemplateTypeEnum | null, PrimaryMeasureType: IfcLabel | null, SecondaryMeasureType: IfcLabel | null, Enumerators: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null, PrimaryUnit: IfcUnit | null, SecondaryUnit: IfcUnit | null, Expression: IfcLabel | null, AccessState: IfcStateEnum | null);
    }
    class IfcSpatialElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        type: number;
        ContainsElements: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        ServicedBySystems: (Handle<IfcRelServicesBuildings> | IfcRelServicesBuildings)[] | null;
        ReferencesElements: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null);
    }
    class IfcSpatialElementType extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcSpatialStructureElement extends IfcSpatialElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null);
    }
    class IfcSpatialStructureElementType extends IfcSpatialElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcSpatialZone extends IfcSpatialElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcSpatialZoneTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, PredefinedType: IfcSpatialZoneTypeEnum | null);
    }
    class IfcSpatialZoneType extends IfcSpatialElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpatialZoneTypeEnum;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpatialZoneTypeEnum, LongName: IfcLabel | null);
    }
    class IfcSphere extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcSphericalSurface extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcStructuralActivity extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        AssignedToStructuralItem: (Handle<IfcRelConnectsStructuralActivity> | IfcRelConnectsStructuralActivity)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralItem extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        AssignedStructuralActivity: (Handle<IfcRelConnectsStructuralActivity> | IfcRelConnectsStructuralActivity)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcStructuralMember extends IfcStructuralItem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ConnectedBy: (Handle<IfcRelConnectsStructuralMember> | IfcRelConnectsStructuralMember)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcStructuralReaction extends IfcStructuralActivity {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralSurfaceMember extends IfcStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralSurfaceMemberTypeEnum;
        Thickness: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralSurfaceMemberTypeEnum, Thickness: IfcPositiveLengthMeasure | null);
    }
    class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralSurfaceMemberTypeEnum;
        Thickness: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralSurfaceMemberTypeEnum, Thickness: IfcPositiveLengthMeasure | null);
    }
    class IfcStructuralSurfaceReaction extends IfcStructuralReaction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        PredefinedType: IfcStructuralSurfaceActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, PredefinedType: IfcStructuralSurfaceActivityTypeEnum);
    }
    class IfcSubContractResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcSubContractResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcSubContractResourceTypeEnum);
    }
    class IfcSurfaceCurve extends IfcCurve {
        Curve3D: (Handle<IfcCurve> | IfcCurve);
        AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[];
        MasterRepresentation: IfcPreferredSurfaceCurveRepresentation;
        type: number;
        constructor(Curve3D: (Handle<IfcCurve> | IfcCurve), AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[], MasterRepresentation: IfcPreferredSurfaceCurveRepresentation);
    }
    class IfcSurfaceCurveSweptAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Directrix: (Handle<IfcCurve> | IfcCurve);
        StartParam: IfcParameterValue | null;
        EndParam: IfcParameterValue | null;
        ReferenceSurface: (Handle<IfcSurface> | IfcSurface);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Directrix: (Handle<IfcCurve> | IfcCurve), StartParam: IfcParameterValue | null, EndParam: IfcParameterValue | null, ReferenceSurface: (Handle<IfcSurface> | IfcSurface));
    }
    class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcLengthMeasure;
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcLengthMeasure);
    }
    class IfcSurfaceOfRevolution extends IfcSweptSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        AxisPosition: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, AxisPosition: (Handle<IfcAxis1Placement> | IfcAxis1Placement));
    }
    class IfcSystemFurnitureElementType extends IfcFurnishingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSystemFurnitureElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSystemFurnitureElementTypeEnum | null);
    }
    class IfcTask extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Status: IfcLabel | null;
        WorkMethod: IfcLabel | null;
        IsMilestone: IfcBoolean;
        Priority: IfcInteger | null;
        TaskTime: (Handle<IfcTaskTime> | IfcTaskTime) | null;
        PredefinedType: IfcTaskTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Status: IfcLabel | null, WorkMethod: IfcLabel | null, IsMilestone: IfcBoolean, Priority: IfcInteger | null, TaskTime: (Handle<IfcTaskTime> | IfcTaskTime) | null, PredefinedType: IfcTaskTypeEnum | null);
    }
    class IfcTaskType extends IfcTypeProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        PredefinedType: IfcTaskTypeEnum;
        WorkMethod: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null, PredefinedType: IfcTaskTypeEnum, WorkMethod: IfcLabel | null);
    }
    class IfcTessellatedFaceSet extends IfcTessellatedItem {
        Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D);
        type: number;
        HasColours: (Handle<IfcIndexedColourMap> | IfcIndexedColourMap)[] | null;
        HasTextures: (Handle<IfcIndexedTextureMap> | IfcIndexedTextureMap)[] | null;
        constructor(Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D));
    }
    class IfcToroidalSurface extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        MajorRadius: IfcPositiveLengthMeasure;
        MinorRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), MajorRadius: IfcPositiveLengthMeasure, MinorRadius: IfcPositiveLengthMeasure);
    }
    class IfcTransportElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTransportElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTransportElementTypeEnum);
    }
    class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet {
        Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D);
        Normals: IfcParameterValue[][] | null;
        Closed: IfcBoolean | null;
        CoordIndex: IfcPositiveInteger[][];
        PnIndex: IfcPositiveInteger[] | null;
        type: number;
        constructor(Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D), Normals: IfcParameterValue[][] | null, Closed: IfcBoolean | null, CoordIndex: IfcPositiveInteger[][], PnIndex: IfcPositiveInteger[] | null);
    }
    class IfcWindowLiningProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        LiningDepth: IfcPositiveLengthMeasure | null;
        LiningThickness: IfcNonNegativeLengthMeasure | null;
        TransomThickness: IfcNonNegativeLengthMeasure | null;
        MullionThickness: IfcNonNegativeLengthMeasure | null;
        FirstTransomOffset: IfcNormalisedRatioMeasure | null;
        SecondTransomOffset: IfcNormalisedRatioMeasure | null;
        FirstMullionOffset: IfcNormalisedRatioMeasure | null;
        SecondMullionOffset: IfcNormalisedRatioMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        LiningOffset: IfcLengthMeasure | null;
        LiningToPanelOffsetX: IfcLengthMeasure | null;
        LiningToPanelOffsetY: IfcLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, LiningDepth: IfcPositiveLengthMeasure | null, LiningThickness: IfcNonNegativeLengthMeasure | null, TransomThickness: IfcNonNegativeLengthMeasure | null, MullionThickness: IfcNonNegativeLengthMeasure | null, FirstTransomOffset: IfcNormalisedRatioMeasure | null, SecondTransomOffset: IfcNormalisedRatioMeasure | null, FirstMullionOffset: IfcNormalisedRatioMeasure | null, SecondMullionOffset: IfcNormalisedRatioMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null, LiningOffset: IfcLengthMeasure | null, LiningToPanelOffsetX: IfcLengthMeasure | null, LiningToPanelOffsetY: IfcLengthMeasure | null);
    }
    class IfcWindowPanelProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        OperationType: IfcWindowPanelOperationEnum;
        PanelPosition: IfcWindowPanelPositionEnum;
        FrameDepth: IfcPositiveLengthMeasure | null;
        FrameThickness: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, OperationType: IfcWindowPanelOperationEnum, PanelPosition: IfcWindowPanelPositionEnum, FrameDepth: IfcPositiveLengthMeasure | null, FrameThickness: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcActor extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheActor: IfcActorSelect;
        type: number;
        IsActingUpon: (Handle<IfcRelAssignsToActor> | IfcRelAssignsToActor)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheActor: IfcActorSelect);
    }
    class IfcAdvancedBrep extends IfcManifoldSolidBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        Voids: (Handle<IfcClosedShell> | IfcClosedShell)[];
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell), Voids: (Handle<IfcClosedShell> | IfcClosedShell)[]);
    }
    class IfcAnnotation extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcBSplineSurface extends IfcBoundedSurface {
        UDegree: IfcInteger;
        VDegree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][];
        SurfaceForm: IfcBSplineSurfaceForm;
        UClosed: IfcLogical;
        VClosed: IfcLogical;
        SelfIntersect: IfcLogical;
        type: number;
        constructor(UDegree: IfcInteger, VDegree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][], SurfaceForm: IfcBSplineSurfaceForm, UClosed: IfcLogical, VClosed: IfcLogical, SelfIntersect: IfcLogical);
    }
    class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface {
        UDegree: IfcInteger;
        VDegree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][];
        SurfaceForm: IfcBSplineSurfaceForm;
        UClosed: IfcLogical;
        VClosed: IfcLogical;
        SelfIntersect: IfcLogical;
        UMultiplicities: IfcInteger[];
        VMultiplicities: IfcInteger[];
        UKnots: IfcParameterValue[];
        VKnots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        type: number;
        constructor(UDegree: IfcInteger, VDegree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][], SurfaceForm: IfcBSplineSurfaceForm, UClosed: IfcLogical, VClosed: IfcLogical, SelfIntersect: IfcLogical, UMultiplicities: IfcInteger[], VMultiplicities: IfcInteger[], UKnots: IfcParameterValue[], VKnots: IfcParameterValue[], KnotSpec: IfcKnotType);
    }
    class IfcBlock extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        XLength: IfcPositiveLengthMeasure;
        YLength: IfcPositiveLengthMeasure;
        ZLength: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), XLength: IfcPositiveLengthMeasure, YLength: IfcPositiveLengthMeasure, ZLength: IfcPositiveLengthMeasure);
    }
    class IfcBooleanClippingResult extends IfcBooleanResult {
        Operator: IfcBooleanOperator;
        FirstOperand: IfcBooleanOperand;
        SecondOperand: IfcBooleanOperand;
        type: number;
        constructor(Operator: IfcBooleanOperator, FirstOperand: IfcBooleanOperand, SecondOperand: IfcBooleanOperand);
    }
    class IfcBoundedCurve extends IfcCurve {
        type: number;
        constructor();
    }
    class IfcBuilding extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        ElevationOfRefHeight: IfcLengthMeasure | null;
        ElevationOfTerrain: IfcLengthMeasure | null;
        BuildingAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, ElevationOfRefHeight: IfcLengthMeasure | null, ElevationOfTerrain: IfcLengthMeasure | null, BuildingAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null);
    }
    class IfcBuildingElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcBuildingStorey extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        Elevation: IfcLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, Elevation: IfcLengthMeasure | null);
    }
    class IfcChimneyType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcChimneyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcChimneyTypeEnum);
    }
    class IfcCircleHollowProfileDef extends IfcCircleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Radius: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Radius: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure);
    }
    class IfcCivilElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcColumnType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcColumnTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcColumnTypeEnum);
    }
    class IfcComplexPropertyTemplate extends IfcPropertyTemplate {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        UsageName: IfcLabel | null;
        TemplateType: IfcComplexPropertyTemplateTypeEnum | null;
        HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, UsageName: IfcLabel | null, TemplateType: IfcComplexPropertyTemplateTypeEnum | null, HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[] | null);
    }
    class IfcCompositeCurve extends IfcBoundedCurve {
        Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcCompositeCurveOnSurface extends IfcCompositeCurve {
        Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcConic extends IfcCurve {
        Position: IfcAxis2Placement;
        type: number;
        constructor(Position: IfcAxis2Placement);
    }
    class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionEquipmentResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionEquipmentResourceTypeEnum);
    }
    class IfcConstructionMaterialResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionMaterialResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionMaterialResourceTypeEnum);
    }
    class IfcConstructionProductResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionProductResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionProductResourceTypeEnum);
    }
    class IfcConstructionResource extends IfcResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null);
    }
    class IfcControl extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        type: number;
        Controls: (Handle<IfcRelAssignsToControl> | IfcRelAssignsToControl)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null);
    }
    class IfcCostItem extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcCostItemTypeEnum | null;
        CostValues: (Handle<IfcCostValue> | IfcCostValue)[] | null;
        CostQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcCostItemTypeEnum | null, CostValues: (Handle<IfcCostValue> | IfcCostValue)[] | null, CostQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[] | null);
    }
    class IfcCostSchedule extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcCostScheduleTypeEnum | null;
        Status: IfcLabel | null;
        SubmittedOn: IfcDateTime | null;
        UpdateDate: IfcDateTime | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcCostScheduleTypeEnum | null, Status: IfcLabel | null, SubmittedOn: IfcDateTime | null, UpdateDate: IfcDateTime | null);
    }
    class IfcCoveringType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoveringTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoveringTypeEnum);
    }
    class IfcCrewResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcCrewResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcCrewResourceTypeEnum | null);
    }
    class IfcCurtainWallType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCurtainWallTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCurtainWallTypeEnum);
    }
    class IfcCylindricalSurface extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcDistributionElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDistributionFlowElementType extends IfcDistributionElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDoorLiningProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        LiningDepth: IfcPositiveLengthMeasure | null;
        LiningThickness: IfcNonNegativeLengthMeasure | null;
        ThresholdDepth: IfcPositiveLengthMeasure | null;
        ThresholdThickness: IfcNonNegativeLengthMeasure | null;
        TransomThickness: IfcNonNegativeLengthMeasure | null;
        TransomOffset: IfcLengthMeasure | null;
        LiningOffset: IfcLengthMeasure | null;
        ThresholdOffset: IfcLengthMeasure | null;
        CasingThickness: IfcPositiveLengthMeasure | null;
        CasingDepth: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        LiningToPanelOffsetX: IfcLengthMeasure | null;
        LiningToPanelOffsetY: IfcLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, LiningDepth: IfcPositiveLengthMeasure | null, LiningThickness: IfcNonNegativeLengthMeasure | null, ThresholdDepth: IfcPositiveLengthMeasure | null, ThresholdThickness: IfcNonNegativeLengthMeasure | null, TransomThickness: IfcNonNegativeLengthMeasure | null, TransomOffset: IfcLengthMeasure | null, LiningOffset: IfcLengthMeasure | null, ThresholdOffset: IfcLengthMeasure | null, CasingThickness: IfcPositiveLengthMeasure | null, CasingDepth: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null, LiningToPanelOffsetX: IfcLengthMeasure | null, LiningToPanelOffsetY: IfcLengthMeasure | null);
    }
    class IfcDoorPanelProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        PanelDepth: IfcPositiveLengthMeasure | null;
        PanelOperation: IfcDoorPanelOperationEnum;
        PanelWidth: IfcNormalisedRatioMeasure | null;
        PanelPosition: IfcDoorPanelPositionEnum;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, PanelDepth: IfcPositiveLengthMeasure | null, PanelOperation: IfcDoorPanelOperationEnum, PanelWidth: IfcNormalisedRatioMeasure | null, PanelPosition: IfcDoorPanelPositionEnum, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcDoorType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDoorTypeEnum;
        OperationType: IfcDoorTypeOperationEnum;
        ParameterTakesPrecedence: IfcBoolean | null;
        UserDefinedOperationType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDoorTypeEnum, OperationType: IfcDoorTypeOperationEnum, ParameterTakesPrecedence: IfcBoolean | null, UserDefinedOperationType: IfcLabel | null);
    }
    class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        FillsVoids: (Handle<IfcRelFillsElement> | IfcRelFillsElement)[] | null;
        ConnectedTo: (Handle<IfcRelConnectsElements> | IfcRelConnectsElements)[] | null;
        IsInterferedByElements: (Handle<IfcRelInterferesElements> | IfcRelInterferesElements)[] | null;
        InterferesElements: (Handle<IfcRelInterferesElements> | IfcRelInterferesElements)[] | null;
        HasProjections: (Handle<IfcRelProjectsElement> | IfcRelProjectsElement)[] | null;
        ReferencedInStructures: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        HasOpenings: (Handle<IfcRelVoidsElement> | IfcRelVoidsElement)[] | null;
        IsConnectionRealization: (Handle<IfcRelConnectsWithRealizingElements> | IfcRelConnectsWithRealizingElements)[] | null;
        ProvidesBoundaries: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        ConnectedFrom: (Handle<IfcRelConnectsElements> | IfcRelConnectsElements)[] | null;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        HasCoverings: (Handle<IfcRelCoversBldgElements> | IfcRelCoversBldgElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcElementAssembly extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        AssemblyPlace: IfcAssemblyPlaceEnum | null;
        PredefinedType: IfcElementAssemblyTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, AssemblyPlace: IfcAssemblyPlaceEnum | null, PredefinedType: IfcElementAssemblyTypeEnum | null);
    }
    class IfcElementAssemblyType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElementAssemblyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElementAssemblyTypeEnum);
    }
    class IfcElementComponent extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcElementComponentType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcEllipse extends IfcConic {
        Position: IfcAxis2Placement;
        SemiAxis1: IfcPositiveLengthMeasure;
        SemiAxis2: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: IfcAxis2Placement, SemiAxis1: IfcPositiveLengthMeasure, SemiAxis2: IfcPositiveLengthMeasure);
    }
    class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcEngineType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEngineTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEngineTypeEnum);
    }
    class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEvaporativeCoolerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEvaporativeCoolerTypeEnum);
    }
    class IfcEvaporatorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEvaporatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEvaporatorTypeEnum);
    }
    class IfcEvent extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        PredefinedType: IfcEventTypeEnum | null;
        EventTriggerType: IfcEventTriggerTypeEnum | null;
        UserDefinedEventTriggerType: IfcLabel | null;
        EventOccurenceTime: (Handle<IfcEventTime> | IfcEventTime) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, PredefinedType: IfcEventTypeEnum | null, EventTriggerType: IfcEventTriggerTypeEnum | null, UserDefinedEventTriggerType: IfcLabel | null, EventOccurenceTime: (Handle<IfcEventTime> | IfcEventTime) | null);
    }
    class IfcExternalSpatialStructureElement extends IfcSpatialElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null);
    }
    class IfcFacetedBrep extends IfcManifoldSolidBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcFacetedBrepWithVoids extends IfcFacetedBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        Voids: (Handle<IfcClosedShell> | IfcClosedShell)[];
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell), Voids: (Handle<IfcClosedShell> | IfcClosedShell)[]);
    }
    class IfcFastener extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFastenerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFastenerTypeEnum | null);
    }
    class IfcFastenerType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFastenerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFastenerTypeEnum);
    }
    class IfcFeatureElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFeatureElementAddition extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        ProjectsElements: (Handle<IfcRelProjectsElement> | IfcRelProjectsElement) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFeatureElementSubtraction extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        VoidsElements: (Handle<IfcRelVoidsElement> | IfcRelVoidsElement) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowControllerType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowFittingType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowMeterType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFlowMeterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFlowMeterTypeEnum);
    }
    class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowSegmentType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowTerminalType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFootingType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFootingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFootingTypeEnum);
    }
    class IfcFurnishingElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFurniture extends IfcFurnishingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFurnitureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFurnitureTypeEnum | null);
    }
    class IfcGeographicElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcGeographicElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcGeographicElementTypeEnum | null);
    }
    class IfcGrid extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        UAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        VAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        WAxes: (Handle<IfcGridAxis> | IfcGridAxis)[] | null;
        PredefinedType: IfcGridTypeEnum | null;
        type: number;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, UAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], VAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], WAxes: (Handle<IfcGridAxis> | IfcGridAxis)[] | null, PredefinedType: IfcGridTypeEnum | null);
    }
    class IfcGroup extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        IsGroupedBy: (Handle<IfcRelAssignsToGroup> | IfcRelAssignsToGroup)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcHeatExchangerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcHeatExchangerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcHeatExchangerTypeEnum);
    }
    class IfcHumidifierType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcHumidifierTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcHumidifierTypeEnum);
    }
    class IfcIndexedPolyCurve extends IfcBoundedCurve {
        Points: (Handle<IfcCartesianPointList> | IfcCartesianPointList);
        Segments: IfcSegmentIndexSelect[] | null;
        SelfIntersect: IfcBoolean | null;
        type: number;
        constructor(Points: (Handle<IfcCartesianPointList> | IfcCartesianPointList), Segments: IfcSegmentIndexSelect[] | null, SelfIntersect: IfcBoolean | null);
    }
    class IfcInterceptorType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcInterceptorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcInterceptorTypeEnum);
    }
    class IfcIntersectionCurve extends IfcSurfaceCurve {
        Curve3D: (Handle<IfcCurve> | IfcCurve);
        AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[];
        MasterRepresentation: IfcPreferredSurfaceCurveRepresentation;
        type: number;
        constructor(Curve3D: (Handle<IfcCurve> | IfcCurve), AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[], MasterRepresentation: IfcPreferredSurfaceCurveRepresentation);
    }
    class IfcInventory extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcInventoryTypeEnum | null;
        Jurisdiction: IfcActorSelect | null;
        ResponsiblePersons: (Handle<IfcPerson> | IfcPerson)[] | null;
        LastUpdateDate: IfcDate | null;
        CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcInventoryTypeEnum | null, Jurisdiction: IfcActorSelect | null, ResponsiblePersons: (Handle<IfcPerson> | IfcPerson)[] | null, LastUpdateDate: IfcDate | null, CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null, OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null);
    }
    class IfcJunctionBoxType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcJunctionBoxTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcJunctionBoxTypeEnum);
    }
    class IfcLaborResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcLaborResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcLaborResourceTypeEnum | null);
    }
    class IfcLampType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcLampTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcLampTypeEnum);
    }
    class IfcLightFixtureType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcLightFixtureTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcLightFixtureTypeEnum);
    }
    class IfcMechanicalFastener extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        NominalLength: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcMechanicalFastenerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, NominalDiameter: IfcPositiveLengthMeasure | null, NominalLength: IfcPositiveLengthMeasure | null, PredefinedType: IfcMechanicalFastenerTypeEnum | null);
    }
    class IfcMechanicalFastenerType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMechanicalFastenerTypeEnum;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        NominalLength: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMechanicalFastenerTypeEnum, NominalDiameter: IfcPositiveLengthMeasure | null, NominalLength: IfcPositiveLengthMeasure | null);
    }
    class IfcMedicalDeviceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMedicalDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMedicalDeviceTypeEnum);
    }
    class IfcMemberType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMemberTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMemberTypeEnum);
    }
    class IfcMotorConnectionType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMotorConnectionTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMotorConnectionTypeEnum);
    }
    class IfcOccupant extends IfcActor {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheActor: IfcActorSelect;
        PredefinedType: IfcOccupantTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheActor: IfcActorSelect, PredefinedType: IfcOccupantTypeEnum | null);
    }
    class IfcOpeningElement extends IfcFeatureElementSubtraction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcOpeningElementTypeEnum | null;
        type: number;
        HasFillings: (Handle<IfcRelFillsElement> | IfcRelFillsElement)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcOpeningElementTypeEnum | null);
    }
    class IfcOpeningStandardCase extends IfcOpeningElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcOpeningElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcOpeningElementTypeEnum | null);
    }
    class IfcOutletType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcOutletTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcOutletTypeEnum);
    }
    class IfcPerformanceHistory extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LifeCyclePhase: IfcLabel;
        PredefinedType: IfcPerformanceHistoryTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LifeCyclePhase: IfcLabel, PredefinedType: IfcPerformanceHistoryTypeEnum | null);
    }
    class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        OperationType: IfcPermeableCoveringOperationEnum;
        PanelPosition: IfcWindowPanelPositionEnum;
        FrameDepth: IfcPositiveLengthMeasure | null;
        FrameThickness: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, OperationType: IfcPermeableCoveringOperationEnum, PanelPosition: IfcWindowPanelPositionEnum, FrameDepth: IfcPositiveLengthMeasure | null, FrameThickness: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcPermit extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcPermitTypeEnum | null;
        Status: IfcLabel | null;
        LongDescription: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcPermitTypeEnum | null, Status: IfcLabel | null, LongDescription: IfcText | null);
    }
    class IfcPileType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPileTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPileTypeEnum);
    }
    class IfcPipeFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPipeFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPipeFittingTypeEnum);
    }
    class IfcPipeSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPipeSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPipeSegmentTypeEnum);
    }
    class IfcPlateType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPlateTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPlateTypeEnum);
    }
    class IfcPolygonalFaceSet extends IfcTessellatedFaceSet {
        Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D);
        Closed: IfcBoolean | null;
        Faces: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace)[];
        PnIndex: IfcPositiveInteger[] | null;
        type: number;
        constructor(Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D), Closed: IfcBoolean | null, Faces: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace)[], PnIndex: IfcPositiveInteger[] | null);
    }
    class IfcPolyline extends IfcBoundedCurve {
        Points: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        type: number;
        constructor(Points: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[]);
    }
    class IfcPort extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ContainedIn: (Handle<IfcRelConnectsPortToElement> | IfcRelConnectsPortToElement)[] | null;
        ConnectedFrom: (Handle<IfcRelConnectsPorts> | IfcRelConnectsPorts)[] | null;
        ConnectedTo: (Handle<IfcRelConnectsPorts> | IfcRelConnectsPorts)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcProcedure extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        PredefinedType: IfcProcedureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, PredefinedType: IfcProcedureTypeEnum | null);
    }
    class IfcProjectOrder extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcProjectOrderTypeEnum | null;
        Status: IfcLabel | null;
        LongDescription: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcProjectOrderTypeEnum | null, Status: IfcLabel | null, LongDescription: IfcText | null);
    }
    class IfcProjectionElement extends IfcFeatureElementAddition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcProjectionElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcProjectionElementTypeEnum | null);
    }
    class IfcProtectiveDeviceType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcProtectiveDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcProtectiveDeviceTypeEnum);
    }
    class IfcPumpType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPumpTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPumpTypeEnum);
    }
    class IfcRailingType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRailingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRailingTypeEnum);
    }
    class IfcRampFlightType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRampFlightTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRampFlightTypeEnum);
    }
    class IfcRampType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRampTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRampTypeEnum);
    }
    class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots {
        UDegree: IfcInteger;
        VDegree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][];
        SurfaceForm: IfcBSplineSurfaceForm;
        UClosed: IfcLogical;
        VClosed: IfcLogical;
        SelfIntersect: IfcLogical;
        UMultiplicities: IfcInteger[];
        VMultiplicities: IfcInteger[];
        UKnots: IfcParameterValue[];
        VKnots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        WeightsData: IfcReal[][];
        type: number;
        constructor(UDegree: IfcInteger, VDegree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][], SurfaceForm: IfcBSplineSurfaceForm, UClosed: IfcLogical, VClosed: IfcLogical, SelfIntersect: IfcLogical, UMultiplicities: IfcInteger[], VMultiplicities: IfcInteger[], UKnots: IfcParameterValue[], VKnots: IfcParameterValue[], KnotSpec: IfcKnotType, WeightsData: IfcReal[][]);
    }
    class IfcReinforcingElement extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null);
    }
    class IfcReinforcingElementType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcReinforcingMesh extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        MeshLength: IfcPositiveLengthMeasure | null;
        MeshWidth: IfcPositiveLengthMeasure | null;
        LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null;
        TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null;
        LongitudinalBarCrossSectionArea: IfcAreaMeasure | null;
        TransverseBarCrossSectionArea: IfcAreaMeasure | null;
        LongitudinalBarSpacing: IfcPositiveLengthMeasure | null;
        TransverseBarSpacing: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcReinforcingMeshTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, MeshLength: IfcPositiveLengthMeasure | null, MeshWidth: IfcPositiveLengthMeasure | null, LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null, TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null, LongitudinalBarCrossSectionArea: IfcAreaMeasure | null, TransverseBarCrossSectionArea: IfcAreaMeasure | null, LongitudinalBarSpacing: IfcPositiveLengthMeasure | null, TransverseBarSpacing: IfcPositiveLengthMeasure | null, PredefinedType: IfcReinforcingMeshTypeEnum | null);
    }
    class IfcReinforcingMeshType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcReinforcingMeshTypeEnum;
        MeshLength: IfcPositiveLengthMeasure | null;
        MeshWidth: IfcPositiveLengthMeasure | null;
        LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null;
        TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null;
        LongitudinalBarCrossSectionArea: IfcAreaMeasure | null;
        TransverseBarCrossSectionArea: IfcAreaMeasure | null;
        LongitudinalBarSpacing: IfcPositiveLengthMeasure | null;
        TransverseBarSpacing: IfcPositiveLengthMeasure | null;
        BendingShapeCode: IfcLabel | null;
        BendingParameters: IfcBendingParameterSelect[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcReinforcingMeshTypeEnum, MeshLength: IfcPositiveLengthMeasure | null, MeshWidth: IfcPositiveLengthMeasure | null, LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null, TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null, LongitudinalBarCrossSectionArea: IfcAreaMeasure | null, TransverseBarCrossSectionArea: IfcAreaMeasure | null, LongitudinalBarSpacing: IfcPositiveLengthMeasure | null, TransverseBarSpacing: IfcPositiveLengthMeasure | null, BendingShapeCode: IfcLabel | null, BendingParameters: IfcBendingParameterSelect[] | null);
    }
    class IfcRelAggregates extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition);
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition), RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[]);
    }
    class IfcRoofType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRoofTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRoofTypeEnum);
    }
    class IfcSanitaryTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSanitaryTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSanitaryTerminalTypeEnum);
    }
    class IfcSeamCurve extends IfcSurfaceCurve {
        Curve3D: (Handle<IfcCurve> | IfcCurve);
        AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[];
        MasterRepresentation: IfcPreferredSurfaceCurveRepresentation;
        type: number;
        constructor(Curve3D: (Handle<IfcCurve> | IfcCurve), AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[], MasterRepresentation: IfcPreferredSurfaceCurveRepresentation);
    }
    class IfcShadingDeviceType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcShadingDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcShadingDeviceTypeEnum);
    }
    class IfcSite extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        RefLatitude: IfcCompoundPlaneAngleMeasure | null;
        RefLongitude: IfcCompoundPlaneAngleMeasure | null;
        RefElevation: IfcLengthMeasure | null;
        LandTitleNumber: IfcLabel | null;
        SiteAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, RefLatitude: IfcCompoundPlaneAngleMeasure | null, RefLongitude: IfcCompoundPlaneAngleMeasure | null, RefElevation: IfcLengthMeasure | null, LandTitleNumber: IfcLabel | null, SiteAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null);
    }
    class IfcSlabType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSlabTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSlabTypeEnum);
    }
    class IfcSolarDeviceType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSolarDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSolarDeviceTypeEnum);
    }
    class IfcSpace extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        PredefinedType: IfcSpaceTypeEnum | null;
        ElevationWithFlooring: IfcLengthMeasure | null;
        type: number;
        HasCoverings: (Handle<IfcRelCoversSpaces> | IfcRelCoversSpaces)[] | null;
        BoundedBy: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, PredefinedType: IfcSpaceTypeEnum | null, ElevationWithFlooring: IfcLengthMeasure | null);
    }
    class IfcSpaceHeaterType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpaceHeaterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpaceHeaterTypeEnum);
    }
    class IfcSpaceType extends IfcSpatialStructureElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpaceTypeEnum;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpaceTypeEnum, LongName: IfcLabel | null);
    }
    class IfcStackTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStackTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStackTerminalTypeEnum);
    }
    class IfcStairFlightType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStairFlightTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStairFlightTypeEnum);
    }
    class IfcStairType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStairTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStairTypeEnum);
    }
    class IfcStructuralAction extends IfcStructuralActivity {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null);
    }
    class IfcStructuralConnection extends IfcStructuralItem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        ConnectsStructuralMembers: (Handle<IfcRelConnectsStructuralMember> | IfcRelConnectsStructuralMember)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcStructuralCurveAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralCurveActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralCurveActivityTypeEnum);
    }
    class IfcStructuralCurveConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        Axis: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, Axis: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcStructuralCurveMember extends IfcStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralCurveMemberTypeEnum;
        Axis: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralCurveMemberTypeEnum, Axis: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralCurveMemberTypeEnum;
        Axis: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralCurveMemberTypeEnum, Axis: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcStructuralCurveReaction extends IfcStructuralReaction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        PredefinedType: IfcStructuralCurveActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, PredefinedType: IfcStructuralCurveActivityTypeEnum);
    }
    class IfcStructuralLinearAction extends IfcStructuralCurveAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralCurveActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralCurveActivityTypeEnum);
    }
    class IfcStructuralLoadGroup extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcLoadGroupTypeEnum;
        ActionType: IfcActionTypeEnum;
        ActionSource: IfcActionSourceTypeEnum;
        Coefficient: IfcRatioMeasure | null;
        Purpose: IfcLabel | null;
        type: number;
        SourceOfResultGroup: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null;
        LoadGroupFor: (Handle<IfcStructuralAnalysisModel> | IfcStructuralAnalysisModel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcLoadGroupTypeEnum, ActionType: IfcActionTypeEnum, ActionSource: IfcActionSourceTypeEnum, Coefficient: IfcRatioMeasure | null, Purpose: IfcLabel | null);
    }
    class IfcStructuralPointAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null);
    }
    class IfcStructuralPointConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcStructuralPointReaction extends IfcStructuralReaction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralResultGroup extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheoryType: IfcAnalysisTheoryTypeEnum;
        ResultForLoadGroup: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup) | null;
        IsLinear: IfcBoolean;
        type: number;
        ResultGroupFor: (Handle<IfcStructuralAnalysisModel> | IfcStructuralAnalysisModel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheoryType: IfcAnalysisTheoryTypeEnum, ResultForLoadGroup: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup) | null, IsLinear: IfcBoolean);
    }
    class IfcStructuralSurfaceAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralSurfaceActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralSurfaceActivityTypeEnum);
    }
    class IfcStructuralSurfaceConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcSubContractResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcSubContractResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcSubContractResourceTypeEnum | null);
    }
    class IfcSurfaceFeature extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSurfaceFeatureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSurfaceFeatureTypeEnum | null);
    }
    class IfcSwitchingDeviceType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSwitchingDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSwitchingDeviceTypeEnum);
    }
    class IfcSystem extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        ServicesBuildings: (Handle<IfcRelServicesBuildings> | IfcRelServicesBuildings)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcSystemFurnitureElement extends IfcFurnishingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSystemFurnitureElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSystemFurnitureElementTypeEnum | null);
    }
    class IfcTankType extends IfcFlowStorageDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTankTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTankTypeEnum);
    }
    class IfcTendon extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        PredefinedType: IfcTendonTypeEnum | null;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        TensionForce: IfcForceMeasure | null;
        PreStress: IfcPressureMeasure | null;
        FrictionCoefficient: IfcNormalisedRatioMeasure | null;
        AnchorageSlip: IfcPositiveLengthMeasure | null;
        MinCurvatureRadius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, PredefinedType: IfcTendonTypeEnum | null, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, TensionForce: IfcForceMeasure | null, PreStress: IfcPressureMeasure | null, FrictionCoefficient: IfcNormalisedRatioMeasure | null, AnchorageSlip: IfcPositiveLengthMeasure | null, MinCurvatureRadius: IfcPositiveLengthMeasure | null);
    }
    class IfcTendonAnchor extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        PredefinedType: IfcTendonAnchorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, PredefinedType: IfcTendonAnchorTypeEnum | null);
    }
    class IfcTendonAnchorType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTendonAnchorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTendonAnchorTypeEnum);
    }
    class IfcTendonType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTendonTypeEnum;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        SheathDiameter: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTendonTypeEnum, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, SheathDiameter: IfcPositiveLengthMeasure | null);
    }
    class IfcTransformerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTransformerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTransformerTypeEnum);
    }
    class IfcTransportElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTransportElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTransportElementTypeEnum | null);
    }
    class IfcTrimmedCurve extends IfcBoundedCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Trim1: IfcTrimmingSelect[];
        Trim2: IfcTrimmingSelect[];
        SenseAgreement: IfcBoolean;
        MasterRepresentation: IfcTrimmingPreference;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Trim1: IfcTrimmingSelect[], Trim2: IfcTrimmingSelect[], SenseAgreement: IfcBoolean, MasterRepresentation: IfcTrimmingPreference);
    }
    class IfcTubeBundleType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTubeBundleTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTubeBundleTypeEnum);
    }
    class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcUnitaryEquipmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcUnitaryEquipmentTypeEnum);
    }
    class IfcValveType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcValveTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcValveTypeEnum);
    }
    class IfcVibrationIsolator extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcVibrationIsolatorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcVibrationIsolatorTypeEnum | null);
    }
    class IfcVibrationIsolatorType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcVibrationIsolatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcVibrationIsolatorTypeEnum);
    }
    class IfcVirtualElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcVoidingFeature extends IfcFeatureElementSubtraction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcVoidingFeatureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcVoidingFeatureTypeEnum | null);
    }
    class IfcWallType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWallTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWallTypeEnum);
    }
    class IfcWasteTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWasteTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWasteTerminalTypeEnum);
    }
    class IfcWindowType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWindowTypeEnum;
        PartitioningType: IfcWindowTypePartitioningEnum;
        ParameterTakesPrecedence: IfcBoolean | null;
        UserDefinedPartitioningType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWindowTypeEnum, PartitioningType: IfcWindowTypePartitioningEnum, ParameterTakesPrecedence: IfcBoolean | null, UserDefinedPartitioningType: IfcLabel | null);
    }
    class IfcWorkCalendar extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        WorkingTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null;
        ExceptionTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null;
        PredefinedType: IfcWorkCalendarTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, WorkingTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null, ExceptionTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null, PredefinedType: IfcWorkCalendarTypeEnum | null);
    }
    class IfcWorkControl extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        CreationDate: IfcDateTime;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        StartTime: IfcDateTime;
        FinishTime: IfcDateTime | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, CreationDate: IfcDateTime, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcDuration | null, TotalFloat: IfcDuration | null, StartTime: IfcDateTime, FinishTime: IfcDateTime | null);
    }
    class IfcWorkPlan extends IfcWorkControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        CreationDate: IfcDateTime;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        StartTime: IfcDateTime;
        FinishTime: IfcDateTime | null;
        PredefinedType: IfcWorkPlanTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, CreationDate: IfcDateTime, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcDuration | null, TotalFloat: IfcDuration | null, StartTime: IfcDateTime, FinishTime: IfcDateTime | null, PredefinedType: IfcWorkPlanTypeEnum | null);
    }
    class IfcWorkSchedule extends IfcWorkControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        CreationDate: IfcDateTime;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        StartTime: IfcDateTime;
        FinishTime: IfcDateTime | null;
        PredefinedType: IfcWorkScheduleTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, CreationDate: IfcDateTime, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcDuration | null, TotalFloat: IfcDuration | null, StartTime: IfcDateTime, FinishTime: IfcDateTime | null, PredefinedType: IfcWorkScheduleTypeEnum | null);
    }
    class IfcZone extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null);
    }
    class IfcActionRequest extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcActionRequestTypeEnum | null;
        Status: IfcLabel | null;
        LongDescription: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcActionRequestTypeEnum | null, Status: IfcLabel | null, LongDescription: IfcText | null);
    }
    class IfcAirTerminalBoxType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirTerminalBoxTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirTerminalBoxTypeEnum);
    }
    class IfcAirTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirTerminalTypeEnum);
    }
    class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirToAirHeatRecoveryTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirToAirHeatRecoveryTypeEnum);
    }
    class IfcAsset extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        TotalReplacementCost: (Handle<IfcCostValue> | IfcCostValue) | null;
        Owner: IfcActorSelect | null;
        User: IfcActorSelect | null;
        ResponsiblePerson: (Handle<IfcPerson> | IfcPerson) | null;
        IncorporationDate: IfcDate | null;
        DepreciatedValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null, CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null, TotalReplacementCost: (Handle<IfcCostValue> | IfcCostValue) | null, Owner: IfcActorSelect | null, User: IfcActorSelect | null, ResponsiblePerson: (Handle<IfcPerson> | IfcPerson) | null, IncorporationDate: IfcDate | null, DepreciatedValue: (Handle<IfcCostValue> | IfcCostValue) | null);
    }
    class IfcAudioVisualApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAudioVisualApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAudioVisualApplianceTypeEnum);
    }
    class IfcBSplineCurve extends IfcBoundedCurve {
        Degree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: IfcLogical;
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Degree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: IfcLogical, SelfIntersect: IfcLogical);
    }
    class IfcBSplineCurveWithKnots extends IfcBSplineCurve {
        Degree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: IfcLogical;
        SelfIntersect: IfcLogical;
        KnotMultiplicities: IfcInteger[];
        Knots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        type: number;
        constructor(Degree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: IfcLogical, SelfIntersect: IfcLogical, KnotMultiplicities: IfcInteger[], Knots: IfcParameterValue[], KnotSpec: IfcKnotType);
    }
    class IfcBeamType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBeamTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBeamTypeEnum);
    }
    class IfcBoilerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBoilerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBoilerTypeEnum);
    }
    class IfcBoundaryCurve extends IfcCompositeCurveOnSurface {
        Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcBuildingElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcBuildingElementPart extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBuildingElementPartTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBuildingElementPartTypeEnum | null);
    }
    class IfcBuildingElementPartType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBuildingElementPartTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBuildingElementPartTypeEnum);
    }
    class IfcBuildingElementProxy extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBuildingElementProxyTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBuildingElementProxyTypeEnum | null);
    }
    class IfcBuildingElementProxyType extends IfcBuildingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBuildingElementProxyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBuildingElementProxyTypeEnum);
    }
    class IfcBuildingSystem extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcBuildingSystemTypeEnum | null;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcBuildingSystemTypeEnum | null, LongName: IfcLabel | null);
    }
    class IfcBurnerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBurnerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBurnerTypeEnum);
    }
    class IfcCableCarrierFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableCarrierFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableCarrierFittingTypeEnum);
    }
    class IfcCableCarrierSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableCarrierSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableCarrierSegmentTypeEnum);
    }
    class IfcCableFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableFittingTypeEnum);
    }
    class IfcCableSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableSegmentTypeEnum);
    }
    class IfcChillerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcChillerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcChillerTypeEnum);
    }
    class IfcChimney extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcChimneyTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcChimneyTypeEnum | null);
    }
    class IfcCircle extends IfcConic {
        Position: IfcAxis2Placement;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: IfcAxis2Placement, Radius: IfcPositiveLengthMeasure);
    }
    class IfcCivilElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcCoilType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoilTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoilTypeEnum);
    }
    class IfcColumn extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcColumnTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcColumnTypeEnum | null);
    }
    class IfcColumnStandardCase extends IfcColumn {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcColumnTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcColumnTypeEnum | null);
    }
    class IfcCommunicationsApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCommunicationsApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCommunicationsApplianceTypeEnum);
    }
    class IfcCompressorType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCompressorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCompressorTypeEnum);
    }
    class IfcCondenserType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCondenserTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCondenserTypeEnum);
    }
    class IfcConstructionEquipmentResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionEquipmentResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionEquipmentResourceTypeEnum | null);
    }
    class IfcConstructionMaterialResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionMaterialResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionMaterialResourceTypeEnum | null);
    }
    class IfcConstructionProductResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionProductResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionProductResourceTypeEnum | null);
    }
    class IfcCooledBeamType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCooledBeamTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCooledBeamTypeEnum);
    }
    class IfcCoolingTowerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoolingTowerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoolingTowerTypeEnum);
    }
    class IfcCovering extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCoveringTypeEnum | null;
        type: number;
        CoversSpaces: (Handle<IfcRelCoversSpaces> | IfcRelCoversSpaces)[] | null;
        CoversElements: (Handle<IfcRelCoversBldgElements> | IfcRelCoversBldgElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCoveringTypeEnum | null);
    }
    class IfcCurtainWall extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCurtainWallTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCurtainWallTypeEnum | null);
    }
    class IfcDamperType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDamperTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDamperTypeEnum);
    }
    class IfcDiscreteAccessory extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDiscreteAccessoryTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDiscreteAccessoryTypeEnum | null);
    }
    class IfcDiscreteAccessoryType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDiscreteAccessoryTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDiscreteAccessoryTypeEnum);
    }
    class IfcDistributionChamberElementType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDistributionChamberElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDistributionChamberElementTypeEnum);
    }
    class IfcDistributionControlElementType extends IfcDistributionElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDistributionElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        HasPorts: (Handle<IfcRelConnectsPortToElement> | IfcRelConnectsPortToElement)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDistributionFlowElement extends IfcDistributionElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        HasControlElements: (Handle<IfcRelFlowControlElements> | IfcRelFlowControlElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDistributionPort extends IfcPort {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        FlowDirection: IfcFlowDirectionEnum | null;
        PredefinedType: IfcDistributionPortTypeEnum | null;
        SystemType: IfcDistributionSystemEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, FlowDirection: IfcFlowDirectionEnum | null, PredefinedType: IfcDistributionPortTypeEnum | null, SystemType: IfcDistributionSystemEnum | null);
    }
    class IfcDistributionSystem extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcDistributionSystemEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, PredefinedType: IfcDistributionSystemEnum | null);
    }
    class IfcDoor extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcDoorTypeEnum | null;
        OperationType: IfcDoorTypeOperationEnum | null;
        UserDefinedOperationType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null, PredefinedType: IfcDoorTypeEnum | null, OperationType: IfcDoorTypeOperationEnum | null, UserDefinedOperationType: IfcLabel | null);
    }
    class IfcDoorStandardCase extends IfcDoor {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcDoorTypeEnum | null;
        OperationType: IfcDoorTypeOperationEnum | null;
        UserDefinedOperationType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null, PredefinedType: IfcDoorTypeEnum | null, OperationType: IfcDoorTypeOperationEnum | null, UserDefinedOperationType: IfcLabel | null);
    }
    class IfcDuctFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctFittingTypeEnum);
    }
    class IfcDuctSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctSegmentTypeEnum);
    }
    class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctSilencerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctSilencerTypeEnum);
    }
    class IfcElectricApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricApplianceTypeEnum);
    }
    class IfcElectricDistributionBoardType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricDistributionBoardTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricDistributionBoardTypeEnum);
    }
    class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricFlowStorageDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricFlowStorageDeviceTypeEnum);
    }
    class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricGeneratorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricGeneratorTypeEnum);
    }
    class IfcElectricMotorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricMotorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricMotorTypeEnum);
    }
    class IfcElectricTimeControlType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricTimeControlTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricTimeControlTypeEnum);
    }
    class IfcEnergyConversionDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcEngine extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEngineTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEngineTypeEnum | null);
    }
    class IfcEvaporativeCooler extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEvaporativeCoolerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEvaporativeCoolerTypeEnum | null);
    }
    class IfcEvaporator extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEvaporatorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEvaporatorTypeEnum | null);
    }
    class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcExternalSpatialElementTypeEnum | null;
        type: number;
        BoundedBy: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, PredefinedType: IfcExternalSpatialElementTypeEnum | null);
    }
    class IfcFanType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFanTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFanTypeEnum);
    }
    class IfcFilterType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFilterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFilterTypeEnum);
    }
    class IfcFireSuppressionTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFireSuppressionTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFireSuppressionTerminalTypeEnum);
    }
    class IfcFlowController extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowFitting extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowInstrumentType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFlowInstrumentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFlowInstrumentTypeEnum);
    }
    class IfcFlowMeter extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFlowMeterTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFlowMeterTypeEnum | null);
    }
    class IfcFlowMovingDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowSegment extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowStorageDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowTerminal extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowTreatmentDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFooting extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFootingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFootingTypeEnum | null);
    }
    class IfcHeatExchanger extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcHeatExchangerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcHeatExchangerTypeEnum | null);
    }
    class IfcHumidifier extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcHumidifierTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcHumidifierTypeEnum | null);
    }
    class IfcInterceptor extends IfcFlowTreatmentDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcInterceptorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcInterceptorTypeEnum | null);
    }
    class IfcJunctionBox extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcJunctionBoxTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcJunctionBoxTypeEnum | null);
    }
    class IfcLamp extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcLampTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcLampTypeEnum | null);
    }
    class IfcLightFixture extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcLightFixtureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcLightFixtureTypeEnum | null);
    }
    class IfcMedicalDevice extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMedicalDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMedicalDeviceTypeEnum | null);
    }
    class IfcMember extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMemberTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMemberTypeEnum | null);
    }
    class IfcMemberStandardCase extends IfcMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMemberTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMemberTypeEnum | null);
    }
    class IfcMotorConnection extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMotorConnectionTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMotorConnectionTypeEnum | null);
    }
    class IfcOuterBoundaryCurve extends IfcBoundaryCurve {
        Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcCompositeCurveSegment> | IfcCompositeCurveSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcOutlet extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcOutletTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcOutletTypeEnum | null);
    }
    class IfcPile extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPileTypeEnum | null;
        ConstructionType: IfcPileConstructionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPileTypeEnum | null, ConstructionType: IfcPileConstructionEnum | null);
    }
    class IfcPipeFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPipeFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPipeFittingTypeEnum | null);
    }
    class IfcPipeSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPipeSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPipeSegmentTypeEnum | null);
    }
    class IfcPlate extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPlateTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPlateTypeEnum | null);
    }
    class IfcPlateStandardCase extends IfcPlate {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPlateTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPlateTypeEnum | null);
    }
    class IfcProtectiveDevice extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcProtectiveDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcProtectiveDeviceTypeEnum | null);
    }
    class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum);
    }
    class IfcPump extends IfcFlowMovingDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPumpTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPumpTypeEnum | null);
    }
    class IfcRailing extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRailingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRailingTypeEnum | null);
    }
    class IfcRamp extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRampTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRampTypeEnum | null);
    }
    class IfcRampFlight extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRampFlightTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRampFlightTypeEnum | null);
    }
    class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots {
        Degree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: IfcLogical;
        SelfIntersect: IfcLogical;
        KnotMultiplicities: IfcInteger[];
        Knots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        WeightsData: IfcReal[];
        type: number;
        constructor(Degree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: IfcLogical, SelfIntersect: IfcLogical, KnotMultiplicities: IfcInteger[], Knots: IfcParameterValue[], KnotSpec: IfcKnotType, WeightsData: IfcReal[]);
    }
    class IfcReinforcingBar extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        BarLength: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcReinforcingBarTypeEnum | null;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, BarLength: IfcPositiveLengthMeasure | null, PredefinedType: IfcReinforcingBarTypeEnum | null, BarSurface: IfcReinforcingBarSurfaceEnum | null);
    }
    class IfcReinforcingBarType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcReinforcingBarTypeEnum;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        BarLength: IfcPositiveLengthMeasure | null;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        BendingShapeCode: IfcLabel | null;
        BendingParameters: IfcBendingParameterSelect[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcReinforcingBarTypeEnum, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, BarLength: IfcPositiveLengthMeasure | null, BarSurface: IfcReinforcingBarSurfaceEnum | null, BendingShapeCode: IfcLabel | null, BendingParameters: IfcBendingParameterSelect[] | null);
    }
    class IfcRoof extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRoofTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRoofTypeEnum | null);
    }
    class IfcSanitaryTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSanitaryTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSanitaryTerminalTypeEnum | null);
    }
    class IfcSensorType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSensorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSensorTypeEnum);
    }
    class IfcShadingDevice extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcShadingDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcShadingDeviceTypeEnum | null);
    }
    class IfcSlab extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSlabTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSlabTypeEnum | null);
    }
    class IfcSlabElementedCase extends IfcSlab {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSlabTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSlabTypeEnum | null);
    }
    class IfcSlabStandardCase extends IfcSlab {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSlabTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSlabTypeEnum | null);
    }
    class IfcSolarDevice extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSolarDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSolarDeviceTypeEnum | null);
    }
    class IfcSpaceHeater extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSpaceHeaterTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSpaceHeaterTypeEnum | null);
    }
    class IfcStackTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcStackTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcStackTerminalTypeEnum | null);
    }
    class IfcStair extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcStairTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcStairTypeEnum | null);
    }
    class IfcStairFlight extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        NumberOfRisers: IfcInteger | null;
        NumberOfTreads: IfcInteger | null;
        RiserHeight: IfcPositiveLengthMeasure | null;
        TreadLength: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcStairFlightTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, NumberOfRisers: IfcInteger | null, NumberOfTreads: IfcInteger | null, RiserHeight: IfcPositiveLengthMeasure | null, TreadLength: IfcPositiveLengthMeasure | null, PredefinedType: IfcStairFlightTypeEnum | null);
    }
    class IfcStructuralAnalysisModel extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcAnalysisModelTypeEnum;
        OrientationOf2DPlane: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        LoadedBy: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup)[] | null;
        HasResults: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null;
        SharedPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcAnalysisModelTypeEnum, OrientationOf2DPlane: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, LoadedBy: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup)[] | null, HasResults: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null, SharedPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null);
    }
    class IfcStructuralLoadCase extends IfcStructuralLoadGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcLoadGroupTypeEnum;
        ActionType: IfcActionTypeEnum;
        ActionSource: IfcActionSourceTypeEnum;
        Coefficient: IfcRatioMeasure | null;
        Purpose: IfcLabel | null;
        SelfWeightCoefficients: IfcRatioMeasure[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcLoadGroupTypeEnum, ActionType: IfcActionTypeEnum, ActionSource: IfcActionSourceTypeEnum, Coefficient: IfcRatioMeasure | null, Purpose: IfcLabel | null, SelfWeightCoefficients: IfcRatioMeasure[] | null);
    }
    class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralSurfaceActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralSurfaceActivityTypeEnum);
    }
    class IfcSwitchingDevice extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSwitchingDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSwitchingDeviceTypeEnum | null);
    }
    class IfcTank extends IfcFlowStorageDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTankTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTankTypeEnum | null);
    }
    class IfcTransformer extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTransformerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTransformerTypeEnum | null);
    }
    class IfcTubeBundle extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTubeBundleTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTubeBundleTypeEnum | null);
    }
    class IfcUnitaryControlElementType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcUnitaryControlElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcUnitaryControlElementTypeEnum);
    }
    class IfcUnitaryEquipment extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcUnitaryEquipmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcUnitaryEquipmentTypeEnum | null);
    }
    class IfcValve extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcValveTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcValveTypeEnum | null);
    }
    class IfcWall extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcWallTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcWallTypeEnum | null);
    }
    class IfcWallElementedCase extends IfcWall {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcWallTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcWallTypeEnum | null);
    }
    class IfcWallStandardCase extends IfcWall {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcWallTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcWallTypeEnum | null);
    }
    class IfcWasteTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcWasteTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcWasteTerminalTypeEnum | null);
    }
    class IfcWindow extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcWindowTypeEnum | null;
        PartitioningType: IfcWindowTypePartitioningEnum | null;
        UserDefinedPartitioningType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null, PredefinedType: IfcWindowTypeEnum | null, PartitioningType: IfcWindowTypePartitioningEnum | null, UserDefinedPartitioningType: IfcLabel | null);
    }
    class IfcWindowStandardCase extends IfcWindow {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcWindowTypeEnum | null;
        PartitioningType: IfcWindowTypePartitioningEnum | null;
        UserDefinedPartitioningType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null, PredefinedType: IfcWindowTypeEnum | null, PartitioningType: IfcWindowTypePartitioningEnum | null, UserDefinedPartitioningType: IfcLabel | null);
    }
    class IfcActuatorType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcActuatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcActuatorTypeEnum);
    }
    class IfcAirTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAirTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAirTerminalTypeEnum | null);
    }
    class IfcAirTerminalBox extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAirTerminalBoxTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAirTerminalBoxTypeEnum | null);
    }
    class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAirToAirHeatRecoveryTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAirToAirHeatRecoveryTypeEnum | null);
    }
    class IfcAlarmType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAlarmTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAlarmTypeEnum);
    }
    class IfcAudioVisualAppliance extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAudioVisualApplianceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAudioVisualApplianceTypeEnum | null);
    }
    class IfcBeam extends IfcBuildingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBeamTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBeamTypeEnum | null);
    }
    class IfcBeamStandardCase extends IfcBeam {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBeamTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBeamTypeEnum | null);
    }
    class IfcBoiler extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBoilerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBoilerTypeEnum | null);
    }
    class IfcBurner extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBurnerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBurnerTypeEnum | null);
    }
    class IfcCableCarrierFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableCarrierFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableCarrierFittingTypeEnum | null);
    }
    class IfcCableCarrierSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableCarrierSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableCarrierSegmentTypeEnum | null);
    }
    class IfcCableFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableFittingTypeEnum | null);
    }
    class IfcCableSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableSegmentTypeEnum | null);
    }
    class IfcChiller extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcChillerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcChillerTypeEnum | null);
    }
    class IfcCoil extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCoilTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCoilTypeEnum | null);
    }
    class IfcCommunicationsAppliance extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCommunicationsApplianceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCommunicationsApplianceTypeEnum | null);
    }
    class IfcCompressor extends IfcFlowMovingDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCompressorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCompressorTypeEnum | null);
    }
    class IfcCondenser extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCondenserTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCondenserTypeEnum | null);
    }
    class IfcControllerType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcControllerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcControllerTypeEnum);
    }
    class IfcCooledBeam extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCooledBeamTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCooledBeamTypeEnum | null);
    }
    class IfcCoolingTower extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCoolingTowerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCoolingTowerTypeEnum | null);
    }
    class IfcDamper extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDamperTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDamperTypeEnum | null);
    }
    class IfcDistributionChamberElement extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDistributionChamberElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDistributionChamberElementTypeEnum | null);
    }
    class IfcDistributionCircuit extends IfcDistributionSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcDistributionSystemEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, PredefinedType: IfcDistributionSystemEnum | null);
    }
    class IfcDistributionControlElement extends IfcDistributionElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        AssignedToFlowElement: (Handle<IfcRelFlowControlElements> | IfcRelFlowControlElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDuctFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDuctFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDuctFittingTypeEnum | null);
    }
    class IfcDuctSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDuctSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDuctSegmentTypeEnum | null);
    }
    class IfcDuctSilencer extends IfcFlowTreatmentDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDuctSilencerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDuctSilencerTypeEnum | null);
    }
    class IfcElectricAppliance extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricApplianceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricApplianceTypeEnum | null);
    }
    class IfcElectricDistributionBoard extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricDistributionBoardTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricDistributionBoardTypeEnum | null);
    }
    class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricFlowStorageDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricFlowStorageDeviceTypeEnum | null);
    }
    class IfcElectricGenerator extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricGeneratorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricGeneratorTypeEnum | null);
    }
    class IfcElectricMotor extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricMotorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricMotorTypeEnum | null);
    }
    class IfcElectricTimeControl extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricTimeControlTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricTimeControlTypeEnum | null);
    }
    class IfcFan extends IfcFlowMovingDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFanTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFanTypeEnum | null);
    }
    class IfcFilter extends IfcFlowTreatmentDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFilterTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFilterTypeEnum | null);
    }
    class IfcFireSuppressionTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFireSuppressionTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFireSuppressionTerminalTypeEnum | null);
    }
    class IfcFlowInstrument extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFlowInstrumentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFlowInstrumentTypeEnum | null);
    }
    class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum | null);
    }
    class IfcSensor extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSensorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSensorTypeEnum | null);
    }
    class IfcUnitaryControlElement extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcUnitaryControlElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcUnitaryControlElementTypeEnum | null);
    }
    class IfcActuator extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcActuatorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcActuatorTypeEnum | null);
    }
    class IfcAlarm extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAlarmTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAlarmTypeEnum | null);
    }
    class IfcController extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcControllerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcControllerTypeEnum | null);
    }
}
export declare namespace IFC4X3 {
    class IfcAbsorbedDoseMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAccelerationMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAmountOfSubstanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAngularVelocityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcArcIndex {
        value: Array<IfcPositiveInteger>;
        type: number;
        constructor(value: Array<IfcPositiveInteger>);
    }
    class IfcAreaDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcAreaMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcBinary {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcBoolean {
        type: number;
        name: string;
        value: boolean;
        constructor(v: any);
    }
    class IfcBoxAlignment {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcCardinalPointReference {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcComplexNumber {
        value: Array<number>;
        type: number;
        constructor(value: Array<number>);
    }
    class IfcCompoundPlaneAngleMeasure {
        value: Array<number>;
        type: number;
        constructor(value: Array<number>);
    }
    class IfcContextDependentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcCountMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcCurvatureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDate {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDateTime {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDayInMonthNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDayInWeekNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDescriptiveMeasure {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDimensionCount {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDoseEquivalentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcDuration {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcDynamicViscosityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricCapacitanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricChargeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricConductanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricCurrentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricResistanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcElectricVoltageMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcEnergyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcFontStyle {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcFontVariant {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcFontWeight {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcFrequencyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcGloballyUniqueId {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcHeatFluxDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcHeatingValueMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIdentifier {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcIlluminanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcInductanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcInteger {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIntegerCountRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIonConcentrationMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcIsothermalMoistureCapacityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcKinematicViscosityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLabel {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcLanguageId {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLineIndex {
        value: Array<IfcPositiveInteger>;
        type: number;
        constructor(value: Array<IfcPositiveInteger>);
    }
    class IfcLinearForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearMomentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearStiffnessMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLinearVelocityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLogical {
        type: number;
        name: string;
        value: logical;
        constructor(v: any);
    }
    class IfcLuminousFluxMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLuminousIntensityDistributionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcLuminousIntensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMagneticFluxDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMagneticFluxMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassDensityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassFlowRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMassPerLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfElasticityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfLinearSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfRotationalSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcModulusOfSubgradeReactionMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMoistureDiffusivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMolecularWeightMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMomentOfInertiaMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMonetaryMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcMonthInYearNumber {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNonNegativeLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNormalisedRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcNumericMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPHMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcParameterValue {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPlanarForceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPlaneAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveInteger {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveLengthMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositivePlaneAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPositiveRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPowerMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPresentableText {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcPressureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcPropertySetDefinitionSet {
        value: Array<IfcPropertySetDefinition>;
        type: number;
        constructor(value: Array<IfcPropertySetDefinition>);
    }
    class IfcRadioActivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRatioMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcReal {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalFrequencyMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalMassMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcRotationalStiffnessMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSectionModulusMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSectionalAreaIntegralMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcShearModulusMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSolidAngleMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPowerLevelMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPowerMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPressureLevelMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSoundPressureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecificHeatCapacityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecularExponent {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcSpecularRoughness {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTemperatureGradientMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTemperatureRateOfChangeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcText {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextAlignment {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextDecoration {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextFontName {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTextTransformation {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcThermalAdmittanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalConductivityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalExpansionCoefficientMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalResistanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermalTransmittanceMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcThermodynamicTemperatureMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTime {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcTimeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTimeStamp {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcTorqueMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcURIReference {
        value: string;
        type: number;
        name: string;
        constructor(value: string);
    }
    class IfcVaporPermeabilityMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcVolumeMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcVolumetricFlowRateMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcWarpingConstantMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcWarpingMomentMeasure {
        type: number;
        name: string;
        value: number;
        constructor(v: any);
    }
    class IfcActionRequestTypeEnum {
        static EMAIL: any;
        static FAX: any;
        static PHONE: any;
        static POST: any;
        static VERBAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActionSourceTypeEnum {
        static BRAKES: any;
        static BUOYANCY: any;
        static COMPLETION_G1: any;
        static CREEP: any;
        static CURRENT: any;
        static DEAD_LOAD_G: any;
        static EARTHQUAKE_E: any;
        static ERECTION: any;
        static FIRE: any;
        static ICE: any;
        static IMPACT: any;
        static IMPULSE: any;
        static LACK_OF_FIT: any;
        static LIVE_LOAD_Q: any;
        static PRESTRESSING_P: any;
        static PROPPING: any;
        static RAIN: any;
        static SETTLEMENT_U: any;
        static SHRINKAGE: any;
        static SNOW_S: any;
        static SYSTEM_IMPERFECTION: any;
        static TEMPERATURE_T: any;
        static TRANSPORT: any;
        static WAVE: any;
        static WIND_W: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActionTypeEnum {
        static EXTRAORDINARY_A: any;
        static PERMANENT_G: any;
        static VARIABLE_Q: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcActuatorTypeEnum {
        static ELECTRICACTUATOR: any;
        static HANDOPERATEDACTUATOR: any;
        static HYDRAULICACTUATOR: any;
        static PNEUMATICACTUATOR: any;
        static THERMOSTATICACTUATOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAddressTypeEnum {
        static DISTRIBUTIONPOINT: any;
        static HOME: any;
        static OFFICE: any;
        static SITE: any;
        static USERDEFINED: any;
    }
    class IfcAirTerminalBoxTypeEnum {
        static CONSTANTFLOW: any;
        static VARIABLEFLOWPRESSUREDEPENDANT: any;
        static VARIABLEFLOWPRESSUREINDEPENDANT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAirTerminalTypeEnum {
        static DIFFUSER: any;
        static GRILLE: any;
        static LOUVRE: any;
        static REGISTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAirToAirHeatRecoveryTypeEnum {
        static FIXEDPLATECOUNTERFLOWEXCHANGER: any;
        static FIXEDPLATECROSSFLOWEXCHANGER: any;
        static FIXEDPLATEPARALLELFLOWEXCHANGER: any;
        static HEATPIPE: any;
        static ROTARYWHEEL: any;
        static RUNAROUNDCOILLOOP: any;
        static THERMOSIPHONCOILTYPEHEATEXCHANGERS: any;
        static THERMOSIPHONSEALEDTUBEHEATEXCHANGERS: any;
        static TWINTOWERENTHALPYRECOVERYLOOPS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAlarmTypeEnum {
        static BELL: any;
        static BREAKGLASSBUTTON: any;
        static LIGHT: any;
        static MANUALPULLBOX: any;
        static RAILWAYCROCODILE: any;
        static RAILWAYDETONATOR: any;
        static SIREN: any;
        static WHISTLE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAlignmentCantSegmentTypeEnum {
        static BLOSSCURVE: any;
        static CONSTANTCANT: any;
        static COSINECURVE: any;
        static HELMERTCURVE: any;
        static LINEARTRANSITION: any;
        static SINECURVE: any;
        static VIENNESEBEND: any;
    }
    class IfcAlignmentHorizontalSegmentTypeEnum {
        static BLOSSCURVE: any;
        static CIRCULARARC: any;
        static CLOTHOID: any;
        static COSINECURVE: any;
        static CUBIC: any;
        static HELMERTCURVE: any;
        static LINE: any;
        static SINECURVE: any;
        static VIENNESEBEND: any;
    }
    class IfcAlignmentTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAlignmentVerticalSegmentTypeEnum {
        static CIRCULARARC: any;
        static CLOTHOID: any;
        static CONSTANTGRADIENT: any;
        static PARABOLICARC: any;
    }
    class IfcAnalysisModelTypeEnum {
        static IN_PLANE_LOADING_2D: any;
        static LOADING_3D: any;
        static OUT_PLANE_LOADING_2D: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAnalysisTheoryTypeEnum {
        static FIRST_ORDER_THEORY: any;
        static FULL_NONLINEAR_THEORY: any;
        static SECOND_ORDER_THEORY: any;
        static THIRD_ORDER_THEORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcAnnotationTypeEnum {
        static ASBUILTAREA: any;
        static ASBUILTLINE: any;
        static ASBUILTPOINT: any;
        static ASSUMEDAREA: any;
        static ASSUMEDLINE: any;
        static ASSUMEDPOINT: any;
        static NON_PHYSICAL_SIGNAL: any;
        static SUPERELEVATIONEVENT: any;
        static WIDTHEVENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcArithmeticOperatorEnum {
        static ADD: any;
        static DIVIDE: any;
        static MULTIPLY: any;
        static SUBTRACT: any;
    }
    class IfcAssemblyPlaceEnum {
        static FACTORY: any;
        static SITE: any;
        static NOTDEFINED: any;
    }
    class IfcAudioVisualApplianceTypeEnum {
        static AMPLIFIER: any;
        static CAMERA: any;
        static COMMUNICATIONTERMINAL: any;
        static DISPLAY: any;
        static MICROPHONE: any;
        static PLAYER: any;
        static PROJECTOR: any;
        static RECEIVER: any;
        static RECORDINGEQUIPMENT: any;
        static SPEAKER: any;
        static SWITCHER: any;
        static TELEPHONE: any;
        static TUNER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBSplineCurveForm {
        static CIRCULAR_ARC: any;
        static ELLIPTIC_ARC: any;
        static HYPERBOLIC_ARC: any;
        static PARABOLIC_ARC: any;
        static POLYLINE_FORM: any;
        static UNSPECIFIED: any;
    }
    class IfcBSplineSurfaceForm {
        static CONICAL_SURF: any;
        static CYLINDRICAL_SURF: any;
        static GENERALISED_CONE: any;
        static PLANE_SURF: any;
        static QUADRIC_SURF: any;
        static RULED_SURF: any;
        static SPHERICAL_SURF: any;
        static SURF_OF_LINEAR_EXTRUSION: any;
        static SURF_OF_REVOLUTION: any;
        static TOROIDAL_SURF: any;
        static UNSPECIFIED: any;
    }
    class IfcBeamTypeEnum {
        static BEAM: any;
        static CORNICE: any;
        static DIAPHRAGM: any;
        static EDGEBEAM: any;
        static GIRDER_SEGMENT: any;
        static HATSTONE: any;
        static HOLLOWCORE: any;
        static JOIST: any;
        static LINTEL: any;
        static PIERCAP: any;
        static SPANDREL: any;
        static T_BEAM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBearingTypeDisplacementEnum {
        static FIXED_MOVEMENT: any;
        static FREE_MOVEMENT: any;
        static GUIDED_LONGITUDINAL: any;
        static GUIDED_TRANSVERSAL: any;
        static NOTDEFINED: any;
    }
    class IfcBearingTypeEnum {
        static CYLINDRICAL: any;
        static DISK: any;
        static ELASTOMERIC: any;
        static GUIDE: any;
        static POT: any;
        static ROCKER: any;
        static ROLLER: any;
        static SPHERICAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBenchmarkEnum {
        static EQUALTO: any;
        static GREATERTHAN: any;
        static GREATERTHANOREQUALTO: any;
        static INCLUDEDIN: any;
        static INCLUDES: any;
        static LESSTHAN: any;
        static LESSTHANOREQUALTO: any;
        static NOTEQUALTO: any;
        static NOTINCLUDEDIN: any;
        static NOTINCLUDES: any;
    }
    class IfcBoilerTypeEnum {
        static STEAM: any;
        static WATER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBooleanOperator {
        static DIFFERENCE: any;
        static INTERSECTION: any;
        static UNION: any;
    }
    class IfcBridgePartTypeEnum {
        static ABUTMENT: any;
        static DECK: any;
        static DECK_SEGMENT: any;
        static FOUNDATION: any;
        static PIER: any;
        static PIER_SEGMENT: any;
        static PYLON: any;
        static SUBSTRUCTURE: any;
        static SUPERSTRUCTURE: any;
        static SURFACESTRUCTURE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBridgeTypeEnum {
        static ARCHED: any;
        static CABLE_STAYED: any;
        static CANTILEVER: any;
        static CULVERT: any;
        static FRAMEWORK: any;
        static GIRDER: any;
        static SUSPENSION: any;
        static TRUSS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBuildingElementPartTypeEnum {
        static APRON: any;
        static ARMOURUNIT: any;
        static INSULATION: any;
        static PRECASTPANEL: any;
        static SAFETYCAGE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBuildingElementProxyTypeEnum {
        static COMPLEX: any;
        static ELEMENT: any;
        static PARTIAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBuildingSystemTypeEnum {
        static EROSIONPREVENTION: any;
        static FENESTRATION: any;
        static FOUNDATION: any;
        static LOADBEARING: any;
        static OUTERSHELL: any;
        static PRESTRESSING: any;
        static REINFORCING: any;
        static SHADING: any;
        static TRANSPORT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBuiltSystemTypeEnum {
        static EROSIONPREVENTION: any;
        static FENESTRATION: any;
        static FOUNDATION: any;
        static LOADBEARING: any;
        static MOORING: any;
        static OUTERSHELL: any;
        static PRESTRESSING: any;
        static RAILWAYLINE: any;
        static RAILWAYTRACK: any;
        static REINFORCING: any;
        static SHADING: any;
        static TRACKCIRCUIT: any;
        static TRANSPORT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcBurnerTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableCarrierFittingTypeEnum {
        static BEND: any;
        static CONNECTOR: any;
        static CROSS: any;
        static JUNCTION: any;
        static TEE: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableCarrierSegmentTypeEnum {
        static CABLEBRACKET: any;
        static CABLELADDERSEGMENT: any;
        static CABLETRAYSEGMENT: any;
        static CABLETRUNKINGSEGMENT: any;
        static CATENARYWIRE: any;
        static CONDUITSEGMENT: any;
        static DROPPER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableFittingTypeEnum {
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static FANOUT: any;
        static JUNCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCableSegmentTypeEnum {
        static BUSBARSEGMENT: any;
        static CABLESEGMENT: any;
        static CONDUCTORSEGMENT: any;
        static CONTACTWIRESEGMENT: any;
        static CORESEGMENT: any;
        static FIBERSEGMENT: any;
        static FIBERTUBE: any;
        static OPTICALCABLESEGMENT: any;
        static STITCHWIRE: any;
        static WIREPAIRSEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCaissonFoundationTypeEnum {
        static CAISSON: any;
        static WELL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcChangeActionEnum {
        static ADDED: any;
        static DELETED: any;
        static MODIFIED: any;
        static NOCHANGE: any;
        static NOTDEFINED: any;
    }
    class IfcChillerTypeEnum {
        static AIRCOOLED: any;
        static HEATRECOVERY: any;
        static WATERCOOLED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcChimneyTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoilTypeEnum {
        static DXCOOLINGCOIL: any;
        static ELECTRICHEATINGCOIL: any;
        static GASHEATINGCOIL: any;
        static HYDRONICCOIL: any;
        static STEAMHEATINGCOIL: any;
        static WATERCOOLINGCOIL: any;
        static WATERHEATINGCOIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcColumnTypeEnum {
        static COLUMN: any;
        static PIERSTEM: any;
        static PIERSTEM_SEGMENT: any;
        static PILASTER: any;
        static STANDCOLUMN: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCommunicationsApplianceTypeEnum {
        static ANTENNA: any;
        static AUTOMATON: any;
        static COMPUTER: any;
        static FAX: any;
        static GATEWAY: any;
        static INTELLIGENTPERIPHERAL: any;
        static IPNETWORKEQUIPMENT: any;
        static LINESIDEELECTRONICUNIT: any;
        static MODEM: any;
        static NETWORKAPPLIANCE: any;
        static NETWORKBRIDGE: any;
        static NETWORKHUB: any;
        static OPTICALLINETERMINAL: any;
        static OPTICALNETWORKUNIT: any;
        static PRINTER: any;
        static RADIOBLOCKCENTER: any;
        static REPEATER: any;
        static ROUTER: any;
        static SCANNER: any;
        static TELECOMMAND: any;
        static TELEPHONYEXCHANGE: any;
        static TRANSITIONCOMPONENT: any;
        static TRANSPONDER: any;
        static TRANSPORTEQUIPMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcComplexPropertyTemplateTypeEnum {
        static P_COMPLEX: any;
        static Q_COMPLEX: any;
    }
    class IfcCompressorTypeEnum {
        static BOOSTER: any;
        static DYNAMIC: any;
        static HERMETIC: any;
        static OPENTYPE: any;
        static RECIPROCATING: any;
        static ROLLINGPISTON: any;
        static ROTARY: any;
        static ROTARYVANE: any;
        static SCROLL: any;
        static SEMIHERMETIC: any;
        static SINGLESCREW: any;
        static SINGLESTAGE: any;
        static TROCHOIDAL: any;
        static TWINSCREW: any;
        static WELDEDSHELLHERMETIC: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCondenserTypeEnum {
        static AIRCOOLED: any;
        static EVAPORATIVECOOLED: any;
        static WATERCOOLED: any;
        static WATERCOOLEDBRAZEDPLATE: any;
        static WATERCOOLEDSHELLCOIL: any;
        static WATERCOOLEDSHELLTUBE: any;
        static WATERCOOLEDTUBEINTUBE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConnectionTypeEnum {
        static ATEND: any;
        static ATPATH: any;
        static ATSTART: any;
        static NOTDEFINED: any;
    }
    class IfcConstraintEnum {
        static ADVISORY: any;
        static HARD: any;
        static SOFT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConstructionEquipmentResourceTypeEnum {
        static DEMOLISHING: any;
        static EARTHMOVING: any;
        static ERECTING: any;
        static HEATING: any;
        static LIGHTING: any;
        static PAVING: any;
        static PUMPING: any;
        static TRANSPORTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConstructionMaterialResourceTypeEnum {
        static AGGREGATES: any;
        static CONCRETE: any;
        static DRYWALL: any;
        static FUEL: any;
        static GYPSUM: any;
        static MASONRY: any;
        static METAL: any;
        static PLASTIC: any;
        static WOOD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConstructionProductResourceTypeEnum {
        static ASSEMBLY: any;
        static FORMWORK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcControllerTypeEnum {
        static FLOATING: any;
        static MULTIPOSITION: any;
        static PROGRAMMABLE: any;
        static PROPORTIONAL: any;
        static TWOPOSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcConveyorSegmentTypeEnum {
        static BELTCONVEYOR: any;
        static BUCKETCONVEYOR: any;
        static CHUTECONVEYOR: any;
        static SCREWCONVEYOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCooledBeamTypeEnum {
        static ACTIVE: any;
        static PASSIVE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoolingTowerTypeEnum {
        static MECHANICALFORCEDDRAFT: any;
        static MECHANICALINDUCEDDRAFT: any;
        static NATURALDRAFT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCostItemTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCostScheduleTypeEnum {
        static BUDGET: any;
        static COSTPLAN: any;
        static ESTIMATE: any;
        static PRICEDBILLOFQUANTITIES: any;
        static SCHEDULEOFRATES: any;
        static TENDER: any;
        static UNPRICEDBILLOFQUANTITIES: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCourseTypeEnum {
        static ARMOUR: any;
        static BALLASTBED: any;
        static CORE: any;
        static FILTER: any;
        static PAVEMENT: any;
        static PROTECTION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCoveringTypeEnum {
        static CEILING: any;
        static CLADDING: any;
        static COPING: any;
        static FLOORING: any;
        static INSULATION: any;
        static MEMBRANE: any;
        static MOLDING: any;
        static ROOFING: any;
        static SKIRTINGBOARD: any;
        static SLEEVING: any;
        static TOPPING: any;
        static WRAPPING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCrewResourceTypeEnum {
        static OFFICE: any;
        static SITE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCurtainWallTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcCurveInterpolationEnum {
        static LINEAR: any;
        static LOG_LINEAR: any;
        static LOG_LOG: any;
        static NOTDEFINED: any;
    }
    class IfcDamperTypeEnum {
        static BACKDRAFTDAMPER: any;
        static BALANCINGDAMPER: any;
        static BLASTDAMPER: any;
        static CONTROLDAMPER: any;
        static FIREDAMPER: any;
        static FIRESMOKEDAMPER: any;
        static FUMEHOODEXHAUST: any;
        static GRAVITYDAMPER: any;
        static GRAVITYRELIEFDAMPER: any;
        static RELIEFDAMPER: any;
        static SMOKEDAMPER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDataOriginEnum {
        static MEASURED: any;
        static PREDICTED: any;
        static SIMULATED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDerivedUnitEnum {
        static ACCELERATIONUNIT: any;
        static ANGULARVELOCITYUNIT: any;
        static AREADENSITYUNIT: any;
        static COMPOUNDPLANEANGLEUNIT: any;
        static CURVATUREUNIT: any;
        static DYNAMICVISCOSITYUNIT: any;
        static HEATFLUXDENSITYUNIT: any;
        static HEATINGVALUEUNIT: any;
        static INTEGERCOUNTRATEUNIT: any;
        static IONCONCENTRATIONUNIT: any;
        static ISOTHERMALMOISTURECAPACITYUNIT: any;
        static KINEMATICVISCOSITYUNIT: any;
        static LINEARFORCEUNIT: any;
        static LINEARMOMENTUNIT: any;
        static LINEARSTIFFNESSUNIT: any;
        static LINEARVELOCITYUNIT: any;
        static LUMINOUSINTENSITYDISTRIBUTIONUNIT: any;
        static MASSDENSITYUNIT: any;
        static MASSFLOWRATEUNIT: any;
        static MASSPERLENGTHUNIT: any;
        static MODULUSOFELASTICITYUNIT: any;
        static MODULUSOFLINEARSUBGRADEREACTIONUNIT: any;
        static MODULUSOFROTATIONALSUBGRADEREACTIONUNIT: any;
        static MODULUSOFSUBGRADEREACTIONUNIT: any;
        static MOISTUREDIFFUSIVITYUNIT: any;
        static MOLECULARWEIGHTUNIT: any;
        static MOMENTOFINERTIAUNIT: any;
        static PHUNIT: any;
        static PLANARFORCEUNIT: any;
        static ROTATIONALFREQUENCYUNIT: any;
        static ROTATIONALMASSUNIT: any;
        static ROTATIONALSTIFFNESSUNIT: any;
        static SECTIONAREAINTEGRALUNIT: any;
        static SECTIONMODULUSUNIT: any;
        static SHEARMODULUSUNIT: any;
        static SOUNDPOWERLEVELUNIT: any;
        static SOUNDPOWERUNIT: any;
        static SOUNDPRESSURELEVELUNIT: any;
        static SOUNDPRESSUREUNIT: any;
        static SPECIFICHEATCAPACITYUNIT: any;
        static TEMPERATUREGRADIENTUNIT: any;
        static TEMPERATURERATEOFCHANGEUNIT: any;
        static THERMALADMITTANCEUNIT: any;
        static THERMALCONDUCTANCEUNIT: any;
        static THERMALEXPANSIONCOEFFICIENTUNIT: any;
        static THERMALRESISTANCEUNIT: any;
        static THERMALTRANSMITTANCEUNIT: any;
        static TORQUEUNIT: any;
        static VAPORPERMEABILITYUNIT: any;
        static VOLUMETRICFLOWRATEUNIT: any;
        static WARPINGCONSTANTUNIT: any;
        static WARPINGMOMENTUNIT: any;
        static USERDEFINED: any;
    }
    class IfcDirectionSenseEnum {
        static NEGATIVE: any;
        static POSITIVE: any;
    }
    class IfcDiscreteAccessoryTypeEnum {
        static ANCHORPLATE: any;
        static BIRDPROTECTION: any;
        static BRACKET: any;
        static CABLEARRANGER: any;
        static ELASTIC_CUSHION: any;
        static EXPANSION_JOINT_DEVICE: any;
        static FILLER: any;
        static FLASHING: any;
        static INSULATOR: any;
        static LOCK: any;
        static PANEL_STRENGTHENING: any;
        static POINTMACHINEMOUNTINGDEVICE: any;
        static POINT_MACHINE_LOCKING_DEVICE: any;
        static RAILBRACE: any;
        static RAILPAD: any;
        static RAIL_LUBRICATION: any;
        static RAIL_MECHANICAL_EQUIPMENT: any;
        static SHOE: any;
        static SLIDINGCHAIR: any;
        static SOUNDABSORPTION: any;
        static TENSIONINGEQUIPMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDistributionBoardTypeEnum {
        static CONSUMERUNIT: any;
        static DISPATCHINGBOARD: any;
        static DISTRIBUTIONBOARD: any;
        static DISTRIBUTIONFRAME: any;
        static MOTORCONTROLCENTRE: any;
        static SWITCHBOARD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDistributionChamberElementTypeEnum {
        static FORMEDDUCT: any;
        static INSPECTIONCHAMBER: any;
        static INSPECTIONPIT: any;
        static MANHOLE: any;
        static METERCHAMBER: any;
        static SUMP: any;
        static TRENCH: any;
        static VALVECHAMBER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDistributionPortTypeEnum {
        static CABLE: any;
        static CABLECARRIER: any;
        static DUCT: any;
        static PIPE: any;
        static WIRELESS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDistributionSystemEnum {
        static AIRCONDITIONING: any;
        static AUDIOVISUAL: any;
        static CATENARY_SYSTEM: any;
        static CHEMICAL: any;
        static CHILLEDWATER: any;
        static COMMUNICATION: any;
        static COMPRESSEDAIR: any;
        static CONDENSERWATER: any;
        static CONTROL: any;
        static CONVEYING: any;
        static DATA: any;
        static DISPOSAL: any;
        static DOMESTICCOLDWATER: any;
        static DOMESTICHOTWATER: any;
        static DRAINAGE: any;
        static EARTHING: any;
        static ELECTRICAL: any;
        static ELECTROACOUSTIC: any;
        static EXHAUST: any;
        static FIREPROTECTION: any;
        static FIXEDTRANSMISSIONNETWORK: any;
        static FUEL: any;
        static GAS: any;
        static HAZARDOUS: any;
        static HEATING: any;
        static LIGHTING: any;
        static LIGHTNINGPROTECTION: any;
        static MOBILENETWORK: any;
        static MONITORINGSYSTEM: any;
        static MUNICIPALSOLIDWASTE: any;
        static OIL: any;
        static OPERATIONAL: any;
        static OPERATIONALTELEPHONYSYSTEM: any;
        static OVERHEAD_CONTACTLINE_SYSTEM: any;
        static POWERGENERATION: any;
        static RAINWATER: any;
        static REFRIGERATION: any;
        static RETURN_CIRCUIT: any;
        static SECURITY: any;
        static SEWAGE: any;
        static SIGNAL: any;
        static STORMWATER: any;
        static TELEPHONE: any;
        static TV: any;
        static VACUUM: any;
        static VENT: any;
        static VENTILATION: any;
        static WASTEWATER: any;
        static WATERSUPPLY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDocumentConfidentialityEnum {
        static CONFIDENTIAL: any;
        static PERSONAL: any;
        static PUBLIC: any;
        static RESTRICTED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDocumentStatusEnum {
        static DRAFT: any;
        static FINAL: any;
        static FINALDRAFT: any;
        static REVISION: any;
        static NOTDEFINED: any;
    }
    class IfcDoorPanelOperationEnum {
        static DOUBLE_ACTING: any;
        static FIXEDPANEL: any;
        static FOLDING: any;
        static REVOLVING: any;
        static ROLLINGUP: any;
        static SLIDING: any;
        static SWINGING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorPanelPositionEnum {
        static LEFT: any;
        static MIDDLE: any;
        static RIGHT: any;
        static NOTDEFINED: any;
    }
    class IfcDoorStyleConstructionEnum {
        static ALUMINIUM: any;
        static ALUMINIUM_PLASTIC: any;
        static ALUMINIUM_WOOD: any;
        static HIGH_GRADE_STEEL: any;
        static PLASTIC: any;
        static STEEL: any;
        static WOOD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorStyleOperationEnum {
        static DOUBLE_DOOR_DOUBLE_SWING: any;
        static DOUBLE_DOOR_FOLDING: any;
        static DOUBLE_DOOR_SINGLE_SWING: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT: any;
        static DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT: any;
        static DOUBLE_DOOR_SLIDING: any;
        static DOUBLE_SWING_LEFT: any;
        static DOUBLE_SWING_RIGHT: any;
        static FOLDING_TO_LEFT: any;
        static FOLDING_TO_RIGHT: any;
        static REVOLVING: any;
        static ROLLINGUP: any;
        static SINGLE_SWING_LEFT: any;
        static SINGLE_SWING_RIGHT: any;
        static SLIDING_TO_LEFT: any;
        static SLIDING_TO_RIGHT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorTypeEnum {
        static BOOM_BARRIER: any;
        static DOOR: any;
        static GATE: any;
        static TRAPDOOR: any;
        static TURNSTILE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDoorTypeOperationEnum {
        static DOUBLE_PANEL_DOUBLE_SWING: any;
        static DOUBLE_PANEL_FOLDING: any;
        static DOUBLE_PANEL_LIFTING_VERTICAL: any;
        static DOUBLE_PANEL_SINGLE_SWING: any;
        static DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT: any;
        static DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT: any;
        static DOUBLE_PANEL_SLIDING: any;
        static DOUBLE_SWING_LEFT: any;
        static DOUBLE_SWING_RIGHT: any;
        static FOLDING_TO_LEFT: any;
        static FOLDING_TO_RIGHT: any;
        static LIFTING_HORIZONTAL: any;
        static LIFTING_VERTICAL_LEFT: any;
        static LIFTING_VERTICAL_RIGHT: any;
        static REVOLVING_HORIZONTAL: any;
        static REVOLVING_VERTICAL: any;
        static ROLLINGUP: any;
        static SINGLE_SWING_LEFT: any;
        static SINGLE_SWING_RIGHT: any;
        static SLIDING_TO_LEFT: any;
        static SLIDING_TO_RIGHT: any;
        static SWING_FIXED_LEFT: any;
        static SWING_FIXED_RIGHT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctFittingTypeEnum {
        static BEND: any;
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static JUNCTION: any;
        static OBSTRUCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctSegmentTypeEnum {
        static FLEXIBLESEGMENT: any;
        static RIGIDSEGMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcDuctSilencerTypeEnum {
        static FLATOVAL: any;
        static RECTANGULAR: any;
        static ROUND: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEarthworksCutTypeEnum {
        static BASE_EXCAVATION: any;
        static CUT: any;
        static DREDGING: any;
        static EXCAVATION: any;
        static OVEREXCAVATION: any;
        static PAVEMENTMILLING: any;
        static STEPEXCAVATION: any;
        static TOPSOILREMOVAL: any;
        static TRENCH: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEarthworksFillTypeEnum {
        static BACKFILL: any;
        static COUNTERWEIGHT: any;
        static EMBANKMENT: any;
        static SLOPEFILL: any;
        static SUBGRADE: any;
        static SUBGRADEBED: any;
        static TRANSITIONSECTION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricApplianceTypeEnum {
        static DISHWASHER: any;
        static ELECTRICCOOKER: any;
        static FREESTANDINGELECTRICHEATER: any;
        static FREESTANDINGFAN: any;
        static FREESTANDINGWATERCOOLER: any;
        static FREESTANDINGWATERHEATER: any;
        static FREEZER: any;
        static FRIDGE_FREEZER: any;
        static HANDDRYER: any;
        static KITCHENMACHINE: any;
        static MICROWAVE: any;
        static PHOTOCOPIER: any;
        static REFRIGERATOR: any;
        static TUMBLEDRYER: any;
        static VENDINGMACHINE: any;
        static WASHINGMACHINE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricDistributionBoardTypeEnum {
        static CONSUMERUNIT: any;
        static DISTRIBUTIONBOARD: any;
        static MOTORCONTROLCENTRE: any;
        static SWITCHBOARD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricFlowStorageDeviceTypeEnum {
        static BATTERY: any;
        static CAPACITOR: any;
        static CAPACITORBANK: any;
        static COMPENSATOR: any;
        static HARMONICFILTER: any;
        static INDUCTOR: any;
        static INDUCTORBANK: any;
        static RECHARGER: any;
        static UPS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricFlowTreatmentDeviceTypeEnum {
        static ELECTRONICFILTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricGeneratorTypeEnum {
        static CHP: any;
        static ENGINEGENERATOR: any;
        static STANDALONE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricMotorTypeEnum {
        static DC: any;
        static INDUCTION: any;
        static POLYPHASE: any;
        static RELUCTANCESYNCHRONOUS: any;
        static SYNCHRONOUS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElectricTimeControlTypeEnum {
        static RELAY: any;
        static TIMECLOCK: any;
        static TIMEDELAY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElementAssemblyTypeEnum {
        static ABUTMENT: any;
        static ACCESSORY_ASSEMBLY: any;
        static ARCH: any;
        static BEAM_GRID: any;
        static BRACED_FRAME: any;
        static CROSS_BRACING: any;
        static DECK: any;
        static DILATATIONPANEL: any;
        static ENTRANCEWORKS: any;
        static GIRDER: any;
        static GRID: any;
        static MAST: any;
        static PIER: any;
        static PYLON: any;
        static RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY: any;
        static REINFORCEMENT_UNIT: any;
        static RIGID_FRAME: any;
        static SHELTER: any;
        static SIGNALASSEMBLY: any;
        static SLAB_FIELD: any;
        static SUMPBUSTER: any;
        static SUPPORTINGASSEMBLY: any;
        static SUSPENSIONASSEMBLY: any;
        static TRACKPANEL: any;
        static TRACTION_SWITCHING_ASSEMBLY: any;
        static TRAFFIC_CALMING_DEVICE: any;
        static TRUSS: any;
        static TURNOUTPANEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcElementCompositionEnum {
        static COMPLEX: any;
        static ELEMENT: any;
        static PARTIAL: any;
    }
    class IfcEngineTypeEnum {
        static EXTERNALCOMBUSTION: any;
        static INTERNALCOMBUSTION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEvaporativeCoolerTypeEnum {
        static DIRECTEVAPORATIVEAIRWASHER: any;
        static DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER: any;
        static DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER: any;
        static DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER: any;
        static DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER: any;
        static INDIRECTDIRECTCOMBINATION: any;
        static INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER: any;
        static INDIRECTEVAPORATIVEPACKAGEAIRCOOLER: any;
        static INDIRECTEVAPORATIVEWETCOIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEvaporatorTypeEnum {
        static DIRECTEXPANSION: any;
        static DIRECTEXPANSIONBRAZEDPLATE: any;
        static DIRECTEXPANSIONSHELLANDTUBE: any;
        static DIRECTEXPANSIONTUBEINTUBE: any;
        static FLOODEDSHELLANDTUBE: any;
        static SHELLANDCOIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEventTriggerTypeEnum {
        static EVENTCOMPLEX: any;
        static EVENTMESSAGE: any;
        static EVENTRULE: any;
        static EVENTTIME: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcEventTypeEnum {
        static ENDEVENT: any;
        static INTERMEDIATEEVENT: any;
        static STARTEVENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcExternalSpatialElementTypeEnum {
        static EXTERNAL: any;
        static EXTERNAL_EARTH: any;
        static EXTERNAL_FIRE: any;
        static EXTERNAL_WATER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFacilityPartCommonTypeEnum {
        static ABOVEGROUND: any;
        static BELOWGROUND: any;
        static JUNCTION: any;
        static LEVELCROSSING: any;
        static SEGMENT: any;
        static SUBSTRUCTURE: any;
        static SUPERSTRUCTURE: any;
        static TERMINAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFacilityUsageEnum {
        static LATERAL: any;
        static LONGITUDINAL: any;
        static REGION: any;
        static VERTICAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFanTypeEnum {
        static CENTRIFUGALAIRFOIL: any;
        static CENTRIFUGALBACKWARDINCLINEDCURVED: any;
        static CENTRIFUGALFORWARDCURVED: any;
        static CENTRIFUGALRADIAL: any;
        static PROPELLORAXIAL: any;
        static TUBEAXIAL: any;
        static VANEAXIAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFastenerTypeEnum {
        static GLUE: any;
        static MORTAR: any;
        static WELD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFilterTypeEnum {
        static AIRPARTICLEFILTER: any;
        static COMPRESSEDAIRFILTER: any;
        static ODORFILTER: any;
        static OILFILTER: any;
        static STRAINER: any;
        static WATERFILTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFireSuppressionTerminalTypeEnum {
        static BREECHINGINLET: any;
        static FIREHYDRANT: any;
        static FIREMONITOR: any;
        static HOSEREEL: any;
        static SPRINKLER: any;
        static SPRINKLERDEFLECTOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFlowDirectionEnum {
        static SINK: any;
        static SOURCE: any;
        static SOURCEANDSINK: any;
        static NOTDEFINED: any;
    }
    class IfcFlowInstrumentTypeEnum {
        static AMMETER: any;
        static COMBINED: any;
        static FREQUENCYMETER: any;
        static PHASEANGLEMETER: any;
        static POWERFACTORMETER: any;
        static PRESSUREGAUGE: any;
        static THERMOMETER: any;
        static VOLTMETER: any;
        static VOLTMETER_PEAK: any;
        static VOLTMETER_RMS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFlowMeterTypeEnum {
        static ENERGYMETER: any;
        static GASMETER: any;
        static OILMETER: any;
        static WATERMETER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFootingTypeEnum {
        static CAISSON_FOUNDATION: any;
        static FOOTING_BEAM: any;
        static PAD_FOOTING: any;
        static PILE_CAP: any;
        static STRIP_FOOTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcFurnitureTypeEnum {
        static BED: any;
        static CHAIR: any;
        static DESK: any;
        static FILECABINET: any;
        static SHELF: any;
        static SOFA: any;
        static TABLE: any;
        static TECHNICALCABINET: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGeographicElementTypeEnum {
        static SOIL_BORING_POINT: any;
        static TERRAIN: any;
        static VEGETATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGeometricProjectionEnum {
        static ELEVATION_VIEW: any;
        static GRAPH_VIEW: any;
        static MODEL_VIEW: any;
        static PLAN_VIEW: any;
        static REFLECTED_PLAN_VIEW: any;
        static SECTION_VIEW: any;
        static SKETCH_VIEW: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGeotechnicalStratumTypeEnum {
        static SOLID: any;
        static VOID: any;
        static WATER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcGlobalOrLocalEnum {
        static GLOBAL_COORDS: any;
        static LOCAL_COORDS: any;
    }
    class IfcGridTypeEnum {
        static IRREGULAR: any;
        static RADIAL: any;
        static RECTANGULAR: any;
        static TRIANGULAR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcHeatExchangerTypeEnum {
        static PLATE: any;
        static SHELLANDTUBE: any;
        static TURNOUTHEATING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcHumidifierTypeEnum {
        static ADIABATICAIRWASHER: any;
        static ADIABATICATOMIZING: any;
        static ADIABATICCOMPRESSEDAIRNOZZLE: any;
        static ADIABATICPAN: any;
        static ADIABATICRIGIDMEDIA: any;
        static ADIABATICULTRASONIC: any;
        static ADIABATICWETTEDELEMENT: any;
        static ASSISTEDBUTANE: any;
        static ASSISTEDELECTRIC: any;
        static ASSISTEDNATURALGAS: any;
        static ASSISTEDPROPANE: any;
        static ASSISTEDSTEAM: any;
        static STEAMINJECTION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcImpactProtectionDeviceTypeEnum {
        static BUMPER: any;
        static CRASHCUSHION: any;
        static DAMPINGSYSTEM: any;
        static FENDER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcInterceptorTypeEnum {
        static CYCLONIC: any;
        static GREASE: any;
        static OIL: any;
        static PETROL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcInternalOrExternalEnum {
        static EXTERNAL: any;
        static EXTERNAL_EARTH: any;
        static EXTERNAL_FIRE: any;
        static EXTERNAL_WATER: any;
        static INTERNAL: any;
        static NOTDEFINED: any;
    }
    class IfcInventoryTypeEnum {
        static ASSETINVENTORY: any;
        static FURNITUREINVENTORY: any;
        static SPACEINVENTORY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcJunctionBoxTypeEnum {
        static DATA: any;
        static POWER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcKnotType {
        static PIECEWISE_BEZIER_KNOTS: any;
        static QUASI_UNIFORM_KNOTS: any;
        static UNIFORM_KNOTS: any;
        static UNSPECIFIED: any;
    }
    class IfcLaborResourceTypeEnum {
        static ADMINISTRATION: any;
        static CARPENTRY: any;
        static CLEANING: any;
        static CONCRETE: any;
        static DRYWALL: any;
        static ELECTRIC: any;
        static FINISHING: any;
        static FLOORING: any;
        static GENERAL: any;
        static HVAC: any;
        static LANDSCAPING: any;
        static MASONRY: any;
        static PAINTING: any;
        static PAVING: any;
        static PLUMBING: any;
        static ROOFING: any;
        static SITEGRADING: any;
        static STEELWORK: any;
        static SURVEYING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLampTypeEnum {
        static COMPACTFLUORESCENT: any;
        static FLUORESCENT: any;
        static HALOGEN: any;
        static HIGHPRESSUREMERCURY: any;
        static HIGHPRESSURESODIUM: any;
        static LED: any;
        static METALHALIDE: any;
        static OLED: any;
        static TUNGSTENFILAMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLayerSetDirectionEnum {
        static AXIS1: any;
        static AXIS2: any;
        static AXIS3: any;
    }
    class IfcLightDistributionCurveEnum {
        static TYPE_A: any;
        static TYPE_B: any;
        static TYPE_C: any;
        static NOTDEFINED: any;
    }
    class IfcLightEmissionSourceEnum {
        static COMPACTFLUORESCENT: any;
        static FLUORESCENT: any;
        static HIGHPRESSUREMERCURY: any;
        static HIGHPRESSURESODIUM: any;
        static LIGHTEMITTINGDIODE: any;
        static LOWPRESSURESODIUM: any;
        static LOWVOLTAGEHALOGEN: any;
        static MAINVOLTAGEHALOGEN: any;
        static METALHALIDE: any;
        static TUNGSTENFILAMENT: any;
        static NOTDEFINED: any;
    }
    class IfcLightFixtureTypeEnum {
        static DIRECTIONSOURCE: any;
        static POINTSOURCE: any;
        static SECURITYLIGHTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLiquidTerminalTypeEnum {
        static HOSEREEL: any;
        static LOADINGARM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLoadGroupTypeEnum {
        static LOAD_CASE: any;
        static LOAD_COMBINATION: any;
        static LOAD_GROUP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcLogicalOperatorEnum {
        static LOGICALAND: any;
        static LOGICALNOTAND: any;
        static LOGICALNOTOR: any;
        static LOGICALOR: any;
        static LOGICALXOR: any;
    }
    class IfcMarineFacilityTypeEnum {
        static BARRIERBEACH: any;
        static BREAKWATER: any;
        static CANAL: any;
        static DRYDOCK: any;
        static FLOATINGDOCK: any;
        static HYDROLIFT: any;
        static JETTY: any;
        static LAUNCHRECOVERY: any;
        static MARINEDEFENCE: any;
        static NAVIGATIONALCHANNEL: any;
        static PORT: any;
        static QUAY: any;
        static REVETMENT: any;
        static SHIPLIFT: any;
        static SHIPLOCK: any;
        static SHIPYARD: any;
        static SLIPWAY: any;
        static WATERWAY: any;
        static WATERWAYSHIPLIFT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMarinePartTypeEnum {
        static ABOVEWATERLINE: any;
        static ANCHORAGE: any;
        static APPROACHCHANNEL: any;
        static BELOWWATERLINE: any;
        static BERTHINGSTRUCTURE: any;
        static CHAMBER: any;
        static CILL_LEVEL: any;
        static COPELEVEL: any;
        static CORE: any;
        static CREST: any;
        static GATEHEAD: any;
        static GUDINGSTRUCTURE: any;
        static HIGHWATERLINE: any;
        static LANDFIELD: any;
        static LEEWARDSIDE: any;
        static LOWWATERLINE: any;
        static MANUFACTURING: any;
        static NAVIGATIONALAREA: any;
        static PROTECTION: any;
        static SHIPTRANSFER: any;
        static STORAGEAREA: any;
        static VEHICLESERVICING: any;
        static WATERFIELD: any;
        static WEATHERSIDE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMechanicalFastenerTypeEnum {
        static ANCHORBOLT: any;
        static BOLT: any;
        static CHAIN: any;
        static COUPLER: any;
        static DOWEL: any;
        static NAIL: any;
        static NAILPLATE: any;
        static RAILFASTENING: any;
        static RAILJOINT: any;
        static RIVET: any;
        static ROPE: any;
        static SCREW: any;
        static SHEARCONNECTOR: any;
        static STAPLE: any;
        static STUDSHEARCONNECTOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMedicalDeviceTypeEnum {
        static AIRSTATION: any;
        static FEEDAIRUNIT: any;
        static OXYGENGENERATOR: any;
        static OXYGENPLANT: any;
        static VACUUMSTATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMemberTypeEnum {
        static ARCH_SEGMENT: any;
        static BRACE: any;
        static CHORD: any;
        static COLLAR: any;
        static MEMBER: any;
        static MULLION: any;
        static PLATE: any;
        static POST: any;
        static PURLIN: any;
        static RAFTER: any;
        static STAY_CABLE: any;
        static STIFFENING_RIB: any;
        static STRINGER: any;
        static STRUCTURALCABLE: any;
        static STRUT: any;
        static STUD: any;
        static SUSPENDER: any;
        static SUSPENSION_CABLE: any;
        static TIEBAR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMobileTelecommunicationsApplianceTypeEnum {
        static ACCESSPOINT: any;
        static BASEBANDUNIT: any;
        static BASETRANSCEIVERSTATION: any;
        static E_UTRAN_NODE_B: any;
        static GATEWAY_GPRS_SUPPORT_NODE: any;
        static MASTERUNIT: any;
        static MOBILESWITCHINGCENTER: any;
        static MSCSERVER: any;
        static PACKETCONTROLUNIT: any;
        static REMOTERADIOUNIT: any;
        static REMOTEUNIT: any;
        static SERVICE_GPRS_SUPPORT_NODE: any;
        static SUBSCRIBERSERVER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMooringDeviceTypeEnum {
        static BOLLARD: any;
        static LINETENSIONER: any;
        static MAGNETICDEVICE: any;
        static MOORINGHOOKS: any;
        static VACUUMDEVICE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcMotorConnectionTypeEnum {
        static BELTDRIVE: any;
        static COUPLING: any;
        static DIRECTDRIVE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcNavigationElementTypeEnum {
        static BEACON: any;
        static BUOY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcObjectTypeEnum {
        static ACTOR: any;
        static CONTROL: any;
        static GROUP: any;
        static PROCESS: any;
        static PRODUCT: any;
        static PROJECT: any;
        static RESOURCE: any;
        static NOTDEFINED: any;
    }
    class IfcObjectiveEnum {
        static CODECOMPLIANCE: any;
        static CODEWAIVER: any;
        static DESIGNINTENT: any;
        static EXTERNAL: any;
        static HEALTHANDSAFETY: any;
        static MERGECONFLICT: any;
        static MODELVIEW: any;
        static PARAMETER: any;
        static REQUIREMENT: any;
        static SPECIFICATION: any;
        static TRIGGERCONDITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOccupantTypeEnum {
        static ASSIGNEE: any;
        static ASSIGNOR: any;
        static LESSEE: any;
        static LESSOR: any;
        static LETTINGAGENT: any;
        static OWNER: any;
        static TENANT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOpeningElementTypeEnum {
        static OPENING: any;
        static RECESS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcOutletTypeEnum {
        static AUDIOVISUALOUTLET: any;
        static COMMUNICATIONSOUTLET: any;
        static DATAOUTLET: any;
        static POWEROUTLET: any;
        static TELEPHONEOUTLET: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPavementTypeEnum {
        static FLEXIBLE: any;
        static RIGID: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPerformanceHistoryTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPermeableCoveringOperationEnum {
        static GRILL: any;
        static LOUVER: any;
        static SCREEN: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPermitTypeEnum {
        static ACCESS: any;
        static BUILDING: any;
        static WORK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPhysicalOrVirtualEnum {
        static PHYSICAL: any;
        static VIRTUAL: any;
        static NOTDEFINED: any;
    }
    class IfcPileConstructionEnum {
        static CAST_IN_PLACE: any;
        static COMPOSITE: any;
        static PRECAST_CONCRETE: any;
        static PREFAB_STEEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPileTypeEnum {
        static BORED: any;
        static COHESION: any;
        static DRIVEN: any;
        static FRICTION: any;
        static JETGROUTING: any;
        static SUPPORT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPipeFittingTypeEnum {
        static BEND: any;
        static CONNECTOR: any;
        static ENTRY: any;
        static EXIT: any;
        static JUNCTION: any;
        static OBSTRUCTION: any;
        static TRANSITION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPipeSegmentTypeEnum {
        static CULVERT: any;
        static FLEXIBLESEGMENT: any;
        static GUTTER: any;
        static RIGIDSEGMENT: any;
        static SPOOL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPlateTypeEnum {
        static BASE_PLATE: any;
        static COVER_PLATE: any;
        static CURTAIN_PANEL: any;
        static FLANGE_PLATE: any;
        static GUSSET_PLATE: any;
        static SHEET: any;
        static SPLICE_PLATE: any;
        static STIFFENER_PLATE: any;
        static WEB_PLATE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPreferredSurfaceCurveRepresentation {
        static CURVE3D: any;
        static PCURVE_S1: any;
        static PCURVE_S2: any;
    }
    class IfcProcedureTypeEnum {
        static ADVICE_CAUTION: any;
        static ADVICE_NOTE: any;
        static ADVICE_WARNING: any;
        static CALIBRATION: any;
        static DIAGNOSTIC: any;
        static SHUTDOWN: any;
        static STARTUP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProfileTypeEnum {
        static AREA: any;
        static CURVE: any;
    }
    class IfcProjectOrderTypeEnum {
        static CHANGEORDER: any;
        static MAINTENANCEWORKORDER: any;
        static MOVEORDER: any;
        static PURCHASEORDER: any;
        static WORKORDER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProjectedOrTrueLengthEnum {
        static PROJECTED_LENGTH: any;
        static TRUE_LENGTH: any;
    }
    class IfcProjectionElementTypeEnum {
        static BLISTER: any;
        static DEVIATOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPropertySetTemplateTypeEnum {
        static PSET_MATERIALDRIVEN: any;
        static PSET_OCCURRENCEDRIVEN: any;
        static PSET_PERFORMANCEDRIVEN: any;
        static PSET_PROFILEDRIVEN: any;
        static PSET_TYPEDRIVENONLY: any;
        static PSET_TYPEDRIVENOVERRIDE: any;
        static QTO_OCCURRENCEDRIVEN: any;
        static QTO_TYPEDRIVENONLY: any;
        static QTO_TYPEDRIVENOVERRIDE: any;
        static NOTDEFINED: any;
    }
    class IfcProtectiveDeviceTrippingUnitTypeEnum {
        static ELECTROMAGNETIC: any;
        static ELECTRONIC: any;
        static RESIDUALCURRENT: any;
        static THERMAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcProtectiveDeviceTypeEnum {
        static ANTI_ARCING_DEVICE: any;
        static CIRCUITBREAKER: any;
        static EARTHINGSWITCH: any;
        static EARTHLEAKAGECIRCUITBREAKER: any;
        static FUSEDISCONNECTOR: any;
        static RESIDUALCURRENTCIRCUITBREAKER: any;
        static RESIDUALCURRENTSWITCH: any;
        static SPARKGAP: any;
        static VARISTOR: any;
        static VOLTAGELIMITER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcPumpTypeEnum {
        static CIRCULATOR: any;
        static ENDSUCTION: any;
        static SPLITCASE: any;
        static SUBMERSIBLEPUMP: any;
        static SUMPPUMP: any;
        static VERTICALINLINE: any;
        static VERTICALTURBINE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRailTypeEnum {
        static BLADE: any;
        static CHECKRAIL: any;
        static GUARDRAIL: any;
        static RACKRAIL: any;
        static RAIL: any;
        static STOCKRAIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRailingTypeEnum {
        static BALUSTRADE: any;
        static FENCE: any;
        static GUARDRAIL: any;
        static HANDRAIL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRailwayPartTypeEnum {
        static DILATATIONSUPERSTRUCTURE: any;
        static LINESIDESTRUCTURE: any;
        static LINESIDESTRUCTUREPART: any;
        static PLAINTRACKSUPERSTRUCTURE: any;
        static SUPERSTRUCTURE: any;
        static TRACKSTRUCTURE: any;
        static TRACKSTRUCTUREPART: any;
        static TURNOUTSUPERSTRUCTURE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRailwayTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRampFlightTypeEnum {
        static SPIRAL: any;
        static STRAIGHT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRampTypeEnum {
        static HALF_TURN_RAMP: any;
        static QUARTER_TURN_RAMP: any;
        static SPIRAL_RAMP: any;
        static STRAIGHT_RUN_RAMP: any;
        static TWO_QUARTER_TURN_RAMP: any;
        static TWO_STRAIGHT_RUN_RAMP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRecurrenceTypeEnum {
        static BY_DAY_COUNT: any;
        static BY_WEEKDAY_COUNT: any;
        static DAILY: any;
        static MONTHLY_BY_DAY_OF_MONTH: any;
        static MONTHLY_BY_POSITION: any;
        static WEEKLY: any;
        static YEARLY_BY_DAY_OF_MONTH: any;
        static YEARLY_BY_POSITION: any;
    }
    class IfcReferentTypeEnum {
        static BOUNDARY: any;
        static INTERSECTION: any;
        static KILOPOINT: any;
        static LANDMARK: any;
        static MILEPOINT: any;
        static POSITION: any;
        static REFERENCEMARKER: any;
        static STATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReflectanceMethodEnum {
        static BLINN: any;
        static FLAT: any;
        static GLASS: any;
        static MATT: any;
        static METAL: any;
        static MIRROR: any;
        static PHONG: any;
        static PHYSICAL: any;
        static PLASTIC: any;
        static STRAUSS: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcedSoilTypeEnum {
        static DYNAMICALLYCOMPACTED: any;
        static GROUTED: any;
        static REPLACED: any;
        static ROLLERCOMPACTED: any;
        static SURCHARGEPRELOADED: any;
        static VERTICALLYDRAINED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingBarRoleEnum {
        static ANCHORING: any;
        static EDGE: any;
        static LIGATURE: any;
        static MAIN: any;
        static PUNCHING: any;
        static RING: any;
        static SHEAR: any;
        static STUD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingBarSurfaceEnum {
        static PLAIN: any;
        static TEXTURED: any;
    }
    class IfcReinforcingBarTypeEnum {
        static ANCHORING: any;
        static EDGE: any;
        static LIGATURE: any;
        static MAIN: any;
        static PUNCHING: any;
        static RING: any;
        static SHEAR: any;
        static SPACEBAR: any;
        static STUD: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcReinforcingMeshTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRoadPartTypeEnum {
        static BICYCLECROSSING: any;
        static BUS_STOP: any;
        static CARRIAGEWAY: any;
        static CENTRALISLAND: any;
        static CENTRALRESERVE: any;
        static HARDSHOULDER: any;
        static INTERSECTION: any;
        static LAYBY: any;
        static PARKINGBAY: any;
        static PASSINGBAY: any;
        static PEDESTRIAN_CROSSING: any;
        static RAILWAYCROSSING: any;
        static REFUGEISLAND: any;
        static ROADSEGMENT: any;
        static ROADSIDE: any;
        static ROADSIDEPART: any;
        static ROADWAYPLATEAU: any;
        static ROUNDABOUT: any;
        static SHOULDER: any;
        static SIDEWALK: any;
        static SOFTSHOULDER: any;
        static TOLLPLAZA: any;
        static TRAFFICISLAND: any;
        static TRAFFICLANE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRoadTypeEnum {
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcRoleEnum {
        static ARCHITECT: any;
        static BUILDINGOPERATOR: any;
        static BUILDINGOWNER: any;
        static CIVILENGINEER: any;
        static CLIENT: any;
        static COMMISSIONINGENGINEER: any;
        static CONSTRUCTIONMANAGER: any;
        static CONSULTANT: any;
        static CONTRACTOR: any;
        static COSTENGINEER: any;
        static ELECTRICALENGINEER: any;
        static ENGINEER: any;
        static FACILITIESMANAGER: any;
        static FIELDCONSTRUCTIONMANAGER: any;
        static MANUFACTURER: any;
        static MECHANICALENGINEER: any;
        static OWNER: any;
        static PROJECTMANAGER: any;
        static RESELLER: any;
        static STRUCTURALENGINEER: any;
        static SUBCONTRACTOR: any;
        static SUPPLIER: any;
        static USERDEFINED: any;
    }
    class IfcRoofTypeEnum {
        static BARREL_ROOF: any;
        static BUTTERFLY_ROOF: any;
        static DOME_ROOF: any;
        static FLAT_ROOF: any;
        static FREEFORM: any;
        static GABLE_ROOF: any;
        static GAMBREL_ROOF: any;
        static HIPPED_GABLE_ROOF: any;
        static HIP_ROOF: any;
        static MANSARD_ROOF: any;
        static PAVILION_ROOF: any;
        static RAINBOW_ROOF: any;
        static SHED_ROOF: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSIPrefix {
        static ATTO: any;
        static CENTI: any;
        static DECA: any;
        static DECI: any;
        static EXA: any;
        static FEMTO: any;
        static GIGA: any;
        static HECTO: any;
        static KILO: any;
        static MEGA: any;
        static MICRO: any;
        static MILLI: any;
        static NANO: any;
        static PETA: any;
        static PICO: any;
        static TERA: any;
    }
    class IfcSIUnitName {
        static AMPERE: any;
        static BECQUEREL: any;
        static CANDELA: any;
        static COULOMB: any;
        static CUBIC_METRE: any;
        static DEGREE_CELSIUS: any;
        static FARAD: any;
        static GRAM: any;
        static GRAY: any;
        static HENRY: any;
        static HERTZ: any;
        static JOULE: any;
        static KELVIN: any;
        static LUMEN: any;
        static LUX: any;
        static METRE: any;
        static MOLE: any;
        static NEWTON: any;
        static OHM: any;
        static PASCAL: any;
        static RADIAN: any;
        static SECOND: any;
        static SIEMENS: any;
        static SIEVERT: any;
        static SQUARE_METRE: any;
        static STERADIAN: any;
        static TESLA: any;
        static VOLT: any;
        static WATT: any;
        static WEBER: any;
    }
    class IfcSanitaryTerminalTypeEnum {
        static BATH: any;
        static BIDET: any;
        static CISTERN: any;
        static SANITARYFOUNTAIN: any;
        static SHOWER: any;
        static SINK: any;
        static TOILETPAN: any;
        static URINAL: any;
        static WASHHANDBASIN: any;
        static WCSEAT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSectionTypeEnum {
        static TAPERED: any;
        static UNIFORM: any;
    }
    class IfcSensorTypeEnum {
        static CO2SENSOR: any;
        static CONDUCTANCESENSOR: any;
        static CONTACTSENSOR: any;
        static COSENSOR: any;
        static EARTHQUAKESENSOR: any;
        static FIRESENSOR: any;
        static FLOWSENSOR: any;
        static FOREIGNOBJECTDETECTIONSENSOR: any;
        static FROSTSENSOR: any;
        static GASSENSOR: any;
        static HEATSENSOR: any;
        static HUMIDITYSENSOR: any;
        static IDENTIFIERSENSOR: any;
        static IONCONCENTRATIONSENSOR: any;
        static LEVELSENSOR: any;
        static LIGHTSENSOR: any;
        static MOISTURESENSOR: any;
        static MOVEMENTSENSOR: any;
        static OBSTACLESENSOR: any;
        static PHSENSOR: any;
        static PRESSURESENSOR: any;
        static RADIATIONSENSOR: any;
        static RADIOACTIVITYSENSOR: any;
        static RAINSENSOR: any;
        static SMOKESENSOR: any;
        static SNOWDEPTHSENSOR: any;
        static SOUNDSENSOR: any;
        static TEMPERATURESENSOR: any;
        static TRAINSENSOR: any;
        static TURNOUTCLOSURESENSOR: any;
        static WHEELSENSOR: any;
        static WINDSENSOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSequenceEnum {
        static FINISH_FINISH: any;
        static FINISH_START: any;
        static START_FINISH: any;
        static START_START: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcShadingDeviceTypeEnum {
        static AWNING: any;
        static JALOUSIE: any;
        static SHUTTER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSignTypeEnum {
        static MARKER: any;
        static MIRROR: any;
        static PICTORAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSignalTypeEnum {
        static AUDIO: any;
        static MIXED: any;
        static VISUAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSimplePropertyTemplateTypeEnum {
        static P_BOUNDEDVALUE: any;
        static P_ENUMERATEDVALUE: any;
        static P_LISTVALUE: any;
        static P_REFERENCEVALUE: any;
        static P_SINGLEVALUE: any;
        static P_TABLEVALUE: any;
        static Q_AREA: any;
        static Q_COUNT: any;
        static Q_LENGTH: any;
        static Q_NUMBER: any;
        static Q_TIME: any;
        static Q_VOLUME: any;
        static Q_WEIGHT: any;
    }
    class IfcSlabTypeEnum {
        static APPROACH_SLAB: any;
        static BASESLAB: any;
        static FLOOR: any;
        static LANDING: any;
        static PAVING: any;
        static ROOF: any;
        static SIDEWALK: any;
        static TRACKSLAB: any;
        static WEARING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSolarDeviceTypeEnum {
        static SOLARCOLLECTOR: any;
        static SOLARPANEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpaceHeaterTypeEnum {
        static CONVECTOR: any;
        static RADIATOR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpaceTypeEnum {
        static BERTH: any;
        static EXTERNAL: any;
        static GFA: any;
        static INTERNAL: any;
        static PARKING: any;
        static SPACE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSpatialZoneTypeEnum {
        static CONSTRUCTION: any;
        static FIRESAFETY: any;
        static INTERFERENCE: any;
        static LIGHTING: any;
        static OCCUPANCY: any;
        static RESERVATION: any;
        static SECURITY: any;
        static THERMAL: any;
        static TRANSPORT: any;
        static VENTILATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStackTerminalTypeEnum {
        static BIRDCAGE: any;
        static COWL: any;
        static RAINWATERHOPPER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStairFlightTypeEnum {
        static CURVED: any;
        static FREEFORM: any;
        static SPIRAL: any;
        static STRAIGHT: any;
        static WINDER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStairTypeEnum {
        static CURVED_RUN_STAIR: any;
        static DOUBLE_RETURN_STAIR: any;
        static HALF_TURN_STAIR: any;
        static HALF_WINDING_STAIR: any;
        static LADDER: any;
        static QUARTER_TURN_STAIR: any;
        static QUARTER_WINDING_STAIR: any;
        static SPIRAL_STAIR: any;
        static STRAIGHT_RUN_STAIR: any;
        static THREE_QUARTER_TURN_STAIR: any;
        static THREE_QUARTER_WINDING_STAIR: any;
        static TWO_CURVED_RUN_STAIR: any;
        static TWO_QUARTER_TURN_STAIR: any;
        static TWO_QUARTER_WINDING_STAIR: any;
        static TWO_STRAIGHT_RUN_STAIR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStateEnum {
        static LOCKED: any;
        static READONLY: any;
        static READONLYLOCKED: any;
        static READWRITE: any;
        static READWRITELOCKED: any;
    }
    class IfcStructuralCurveActivityTypeEnum {
        static CONST: any;
        static DISCRETE: any;
        static EQUIDISTANT: any;
        static LINEAR: any;
        static PARABOLA: any;
        static POLYGONAL: any;
        static SINUS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStructuralCurveMemberTypeEnum {
        static CABLE: any;
        static COMPRESSION_MEMBER: any;
        static PIN_JOINED_MEMBER: any;
        static RIGID_JOINED_MEMBER: any;
        static TENSION_MEMBER: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStructuralSurfaceActivityTypeEnum {
        static BILINEAR: any;
        static CONST: any;
        static DISCRETE: any;
        static ISOCONTOUR: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcStructuralSurfaceMemberTypeEnum {
        static BENDING_ELEMENT: any;
        static MEMBRANE_ELEMENT: any;
        static SHELL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSubContractResourceTypeEnum {
        static PURCHASE: any;
        static WORK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSurfaceFeatureTypeEnum {
        static DEFECT: any;
        static HATCHMARKING: any;
        static LINEMARKING: any;
        static MARK: any;
        static NONSKIDSURFACING: any;
        static PAVEMENTSURFACEMARKING: any;
        static RUMBLESTRIP: any;
        static SYMBOLMARKING: any;
        static TAG: any;
        static TRANSVERSERUMBLESTRIP: any;
        static TREATMENT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSurfaceSide {
        static BOTH: any;
        static NEGATIVE: any;
        static POSITIVE: any;
    }
    class IfcSwitchingDeviceTypeEnum {
        static CONTACTOR: any;
        static DIMMERSWITCH: any;
        static EMERGENCYSTOP: any;
        static KEYPAD: any;
        static MOMENTARYSWITCH: any;
        static RELAY: any;
        static SELECTORSWITCH: any;
        static STARTER: any;
        static START_AND_STOP_EQUIPMENT: any;
        static SWITCHDISCONNECTOR: any;
        static TOGGLESWITCH: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcSystemFurnitureElementTypeEnum {
        static PANEL: any;
        static SUBRACK: any;
        static WORKSURFACE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTankTypeEnum {
        static BASIN: any;
        static BREAKPRESSURE: any;
        static EXPANSION: any;
        static FEEDANDEXPANSION: any;
        static OILRETENTIONTRAY: any;
        static PRESSUREVESSEL: any;
        static STORAGE: any;
        static VESSEL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTaskDurationEnum {
        static ELAPSEDTIME: any;
        static WORKTIME: any;
        static NOTDEFINED: any;
    }
    class IfcTaskTypeEnum {
        static ADJUSTMENT: any;
        static ATTENDANCE: any;
        static CALIBRATION: any;
        static CONSTRUCTION: any;
        static DEMOLITION: any;
        static DISMANTLE: any;
        static DISPOSAL: any;
        static EMERGENCY: any;
        static INSPECTION: any;
        static INSTALLATION: any;
        static LOGISTIC: any;
        static MAINTENANCE: any;
        static MOVE: any;
        static OPERATION: any;
        static REMOVAL: any;
        static RENOVATION: any;
        static SAFETY: any;
        static SHUTDOWN: any;
        static STARTUP: any;
        static TESTING: any;
        static TROUBLESHOOTING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTendonAnchorTypeEnum {
        static COUPLER: any;
        static FIXED_END: any;
        static TENSIONING_END: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTendonConduitTypeEnum {
        static COUPLER: any;
        static DIABOLO: any;
        static DUCT: any;
        static GROUTING_DUCT: any;
        static TRUMPET: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTendonTypeEnum {
        static BAR: any;
        static COATED: any;
        static STRAND: any;
        static WIRE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTextPath {
        static DOWN: any;
        static LEFT: any;
        static RIGHT: any;
        static UP: any;
    }
    class IfcTimeSeriesDataTypeEnum {
        static CONTINUOUS: any;
        static DISCRETE: any;
        static DISCRETEBINARY: any;
        static PIECEWISEBINARY: any;
        static PIECEWISECONSTANT: any;
        static PIECEWISECONTINUOUS: any;
        static NOTDEFINED: any;
    }
    class IfcTrackElementTypeEnum {
        static BLOCKINGDEVICE: any;
        static DERAILER: any;
        static FROG: any;
        static HALF_SET_OF_BLADES: any;
        static SLEEPER: any;
        static SPEEDREGULATOR: any;
        static TRACKENDOFALIGNMENT: any;
        static VEHICLESTOP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTransformerTypeEnum {
        static CHOPPER: any;
        static COMBINED: any;
        static CURRENT: any;
        static FREQUENCY: any;
        static INVERTER: any;
        static RECTIFIER: any;
        static VOLTAGE: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTransitionCode {
        static CONTINUOUS: any;
        static CONTSAMEGRADIENT: any;
        static CONTSAMEGRADIENTSAMECURVATURE: any;
        static DISCONTINUOUS: any;
    }
    class IfcTransportElementTypeEnum {
        static CRANEWAY: any;
        static ELEVATOR: any;
        static ESCALATOR: any;
        static HAULINGGEAR: any;
        static LIFTINGGEAR: any;
        static MOVINGWALKWAY: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcTrimmingPreference {
        static CARTESIAN: any;
        static PARAMETER: any;
        static UNSPECIFIED: any;
    }
    class IfcTubeBundleTypeEnum {
        static FINNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcUnitEnum {
        static ABSORBEDDOSEUNIT: any;
        static AMOUNTOFSUBSTANCEUNIT: any;
        static AREAUNIT: any;
        static DOSEEQUIVALENTUNIT: any;
        static ELECTRICCAPACITANCEUNIT: any;
        static ELECTRICCHARGEUNIT: any;
        static ELECTRICCONDUCTANCEUNIT: any;
        static ELECTRICCURRENTUNIT: any;
        static ELECTRICRESISTANCEUNIT: any;
        static ELECTRICVOLTAGEUNIT: any;
        static ENERGYUNIT: any;
        static FORCEUNIT: any;
        static FREQUENCYUNIT: any;
        static ILLUMINANCEUNIT: any;
        static INDUCTANCEUNIT: any;
        static LENGTHUNIT: any;
        static LUMINOUSFLUXUNIT: any;
        static LUMINOUSINTENSITYUNIT: any;
        static MAGNETICFLUXDENSITYUNIT: any;
        static MAGNETICFLUXUNIT: any;
        static MASSUNIT: any;
        static PLANEANGLEUNIT: any;
        static POWERUNIT: any;
        static PRESSUREUNIT: any;
        static RADIOACTIVITYUNIT: any;
        static SOLIDANGLEUNIT: any;
        static THERMODYNAMICTEMPERATUREUNIT: any;
        static TIMEUNIT: any;
        static VOLUMEUNIT: any;
        static USERDEFINED: any;
    }
    class IfcUnitaryControlElementTypeEnum {
        static ALARMPANEL: any;
        static BASESTATIONCONTROLLER: any;
        static COMBINED: any;
        static CONTROLPANEL: any;
        static GASDETECTIONPANEL: any;
        static HUMIDISTAT: any;
        static INDICATORPANEL: any;
        static MIMICPANEL: any;
        static THERMOSTAT: any;
        static WEATHERSTATION: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcUnitaryEquipmentTypeEnum {
        static AIRCONDITIONINGUNIT: any;
        static AIRHANDLER: any;
        static DEHUMIDIFIER: any;
        static ROOFTOPUNIT: any;
        static SPLITSYSTEM: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcValveTypeEnum {
        static AIRRELEASE: any;
        static ANTIVACUUM: any;
        static CHANGEOVER: any;
        static CHECK: any;
        static COMMISSIONING: any;
        static DIVERTING: any;
        static DOUBLECHECK: any;
        static DOUBLEREGULATING: any;
        static DRAWOFFCOCK: any;
        static FAUCET: any;
        static FLUSHING: any;
        static GASCOCK: any;
        static GASTAP: any;
        static ISOLATING: any;
        static MIXING: any;
        static PRESSUREREDUCING: any;
        static PRESSURERELIEF: any;
        static REGULATING: any;
        static SAFETYCUTOFF: any;
        static STEAMTRAP: any;
        static STOPCOCK: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVehicleTypeEnum {
        static CARGO: any;
        static ROLLINGSTOCK: any;
        static VEHICLE: any;
        static VEHICLEAIR: any;
        static VEHICLEMARINE: any;
        static VEHICLETRACKED: any;
        static VEHICLEWHEELED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVibrationDamperTypeEnum {
        static AXIAL_YIELD: any;
        static BENDING_YIELD: any;
        static FRICTION: any;
        static RUBBER: any;
        static SHEAR_YIELD: any;
        static VISCOUS: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVibrationIsolatorTypeEnum {
        static BASE: any;
        static COMPRESSION: any;
        static SPRING: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVirtualElementTypeEnum {
        static BOUNDARY: any;
        static CLEARANCE: any;
        static PROVISIONFORVOID: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcVoidingFeatureTypeEnum {
        static CHAMFER: any;
        static CUTOUT: any;
        static EDGE: any;
        static HOLE: any;
        static MITER: any;
        static NOTCH: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWallTypeEnum {
        static ELEMENTEDWALL: any;
        static MOVABLE: any;
        static PARAPET: any;
        static PARTITIONING: any;
        static PLUMBINGWALL: any;
        static POLYGONAL: any;
        static RETAININGWALL: any;
        static SHEAR: any;
        static SOLIDWALL: any;
        static STANDARD: any;
        static WAVEWALL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWasteTerminalTypeEnum {
        static FLOORTRAP: any;
        static FLOORWASTE: any;
        static GULLYSUMP: any;
        static GULLYTRAP: any;
        static ROOFDRAIN: any;
        static WASTEDISPOSALUNIT: any;
        static WASTETRAP: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWindowPanelOperationEnum {
        static BOTTOMHUNG: any;
        static FIXEDCASEMENT: any;
        static OTHEROPERATION: any;
        static PIVOTHORIZONTAL: any;
        static PIVOTVERTICAL: any;
        static REMOVABLECASEMENT: any;
        static SIDEHUNGLEFTHAND: any;
        static SIDEHUNGRIGHTHAND: any;
        static SLIDINGHORIZONTAL: any;
        static SLIDINGVERTICAL: any;
        static TILTANDTURNLEFTHAND: any;
        static TILTANDTURNRIGHTHAND: any;
        static TOPHUNG: any;
        static NOTDEFINED: any;
    }
    class IfcWindowPanelPositionEnum {
        static BOTTOM: any;
        static LEFT: any;
        static MIDDLE: any;
        static RIGHT: any;
        static TOP: any;
        static NOTDEFINED: any;
    }
    class IfcWindowStyleConstructionEnum {
        static ALUMINIUM: any;
        static ALUMINIUM_WOOD: any;
        static HIGH_GRADE_STEEL: any;
        static OTHER_CONSTRUCTION: any;
        static PLASTIC: any;
        static STEEL: any;
        static WOOD: any;
        static NOTDEFINED: any;
    }
    class IfcWindowStyleOperationEnum {
        static DOUBLE_PANEL_HORIZONTAL: any;
        static DOUBLE_PANEL_VERTICAL: any;
        static SINGLE_PANEL: any;
        static TRIPLE_PANEL_BOTTOM: any;
        static TRIPLE_PANEL_HORIZONTAL: any;
        static TRIPLE_PANEL_LEFT: any;
        static TRIPLE_PANEL_RIGHT: any;
        static TRIPLE_PANEL_TOP: any;
        static TRIPLE_PANEL_VERTICAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWindowTypeEnum {
        static LIGHTDOME: any;
        static SKYLIGHT: any;
        static WINDOW: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWindowTypePartitioningEnum {
        static DOUBLE_PANEL_HORIZONTAL: any;
        static DOUBLE_PANEL_VERTICAL: any;
        static SINGLE_PANEL: any;
        static TRIPLE_PANEL_BOTTOM: any;
        static TRIPLE_PANEL_HORIZONTAL: any;
        static TRIPLE_PANEL_LEFT: any;
        static TRIPLE_PANEL_RIGHT: any;
        static TRIPLE_PANEL_TOP: any;
        static TRIPLE_PANEL_VERTICAL: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWorkCalendarTypeEnum {
        static FIRSTSHIFT: any;
        static SECONDSHIFT: any;
        static THIRDSHIFT: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWorkPlanTypeEnum {
        static ACTUAL: any;
        static BASELINE: any;
        static PLANNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    class IfcWorkScheduleTypeEnum {
        static ACTUAL: any;
        static BASELINE: any;
        static PLANNED: any;
        static USERDEFINED: any;
        static NOTDEFINED: any;
    }
    type IfcActorSelect = (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization);
    type IfcAppliedValueSelect = (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | (Handle<IfcReference> | IfcReference) | IfcValue;
    type IfcAxis2Placement = (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
    type IfcBendingParameterSelect = IfcLengthMeasure | IfcPlaneAngleMeasure;
    type IfcBooleanOperand = (Handle<IfcBooleanResult> | IfcBooleanResult) | (Handle<IfcCsgPrimitive3D> | IfcCsgPrimitive3D) | (Handle<IfcHalfSpaceSolid> | IfcHalfSpaceSolid) | (Handle<IfcSolidModel> | IfcSolidModel) | (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
    type IfcClassificationReferenceSelect = (Handle<IfcClassification> | IfcClassification) | (Handle<IfcClassificationReference> | IfcClassificationReference);
    type IfcClassificationSelect = (Handle<IfcClassification> | IfcClassification) | (Handle<IfcClassificationReference> | IfcClassificationReference);
    type IfcColour = (Handle<IfcColourSpecification> | IfcColourSpecification) | (Handle<IfcPreDefinedColour> | IfcPreDefinedColour);
    type IfcColourOrFactor = (Handle<IfcColourRgb> | IfcColourRgb) | IfcNormalisedRatioMeasure;
    type IfcCoordinateReferenceSystemSelect = (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem) | (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext);
    type IfcCsgSelect = (Handle<IfcBooleanResult> | IfcBooleanResult) | (Handle<IfcCsgPrimitive3D> | IfcCsgPrimitive3D);
    type IfcCurveFontOrScaledCurveFontSelect = (Handle<IfcCurveStyleFontAndScaling> | IfcCurveStyleFontAndScaling) | IfcCurveStyleFontSelect;
    type IfcCurveMeasureSelect = IfcNonNegativeLengthMeasure | IfcParameterValue;
    type IfcCurveOnSurface = (Handle<IfcCompositeCurveOnSurface> | IfcCompositeCurveOnSurface) | (Handle<IfcPcurve> | IfcPcurve) | (Handle<IfcSurfaceCurve> | IfcSurfaceCurve);
    type IfcCurveOrEdgeCurve = (Handle<IfcBoundedCurve> | IfcBoundedCurve) | (Handle<IfcEdgeCurve> | IfcEdgeCurve);
    type IfcCurveStyleFontSelect = (Handle<IfcCurveStyleFont> | IfcCurveStyleFont) | (Handle<IfcPreDefinedCurveFont> | IfcPreDefinedCurveFont);
    type IfcDefinitionSelect = (Handle<IfcObjectDefinition> | IfcObjectDefinition) | (Handle<IfcPropertyDefinition> | IfcPropertyDefinition);
    type IfcDerivedMeasureValue = IfcAbsorbedDoseMeasure | IfcAccelerationMeasure | IfcAngularVelocityMeasure | IfcAreaDensityMeasure | IfcCompoundPlaneAngleMeasure | IfcCurvatureMeasure | IfcDoseEquivalentMeasure | IfcDynamicViscosityMeasure | IfcElectricCapacitanceMeasure | IfcElectricChargeMeasure | IfcElectricConductanceMeasure | IfcElectricResistanceMeasure | IfcElectricVoltageMeasure | IfcEnergyMeasure | IfcForceMeasure | IfcFrequencyMeasure | IfcHeatFluxDensityMeasure | IfcHeatingValueMeasure | IfcIlluminanceMeasure | IfcInductanceMeasure | IfcIntegerCountRateMeasure | IfcIonConcentrationMeasure | IfcIsothermalMoistureCapacityMeasure | IfcKinematicViscosityMeasure | IfcLinearForceMeasure | IfcLinearMomentMeasure | IfcLinearStiffnessMeasure | IfcLinearVelocityMeasure | IfcLuminousFluxMeasure | IfcLuminousIntensityDistributionMeasure | IfcMagneticFluxDensityMeasure | IfcMagneticFluxMeasure | IfcMassDensityMeasure | IfcMassFlowRateMeasure | IfcMassPerLengthMeasure | IfcModulusOfElasticityMeasure | IfcModulusOfLinearSubgradeReactionMeasure | IfcModulusOfRotationalSubgradeReactionMeasure | IfcModulusOfSubgradeReactionMeasure | IfcMoistureDiffusivityMeasure | IfcMolecularWeightMeasure | IfcMomentOfInertiaMeasure | IfcMonetaryMeasure | IfcPHMeasure | IfcPlanarForceMeasure | IfcPowerMeasure | IfcPressureMeasure | IfcRadioActivityMeasure | IfcRotationalFrequencyMeasure | IfcRotationalMassMeasure | IfcRotationalStiffnessMeasure | IfcSectionModulusMeasure | IfcSectionalAreaIntegralMeasure | IfcShearModulusMeasure | IfcSoundPowerLevelMeasure | IfcSoundPowerMeasure | IfcSoundPressureLevelMeasure | IfcSoundPressureMeasure | IfcSpecificHeatCapacityMeasure | IfcTemperatureGradientMeasure | IfcTemperatureRateOfChangeMeasure | IfcThermalAdmittanceMeasure | IfcThermalConductivityMeasure | IfcThermalExpansionCoefficientMeasure | IfcThermalResistanceMeasure | IfcThermalTransmittanceMeasure | IfcTorqueMeasure | IfcVaporPermeabilityMeasure | IfcVolumetricFlowRateMeasure | IfcWarpingConstantMeasure | IfcWarpingMomentMeasure;
    type IfcDocumentSelect = (Handle<IfcDocumentInformation> | IfcDocumentInformation) | (Handle<IfcDocumentReference> | IfcDocumentReference);
    type IfcFillStyleSelect = IfcColour | (Handle<IfcExternallyDefinedHatchStyle> | IfcExternallyDefinedHatchStyle) | (Handle<IfcFillAreaStyleHatching> | IfcFillAreaStyleHatching) | (Handle<IfcFillAreaStyleTiles> | IfcFillAreaStyleTiles);
    type IfcGeometricSetSelect = (Handle<IfcCurve> | IfcCurve) | (Handle<IfcPoint> | IfcPoint) | (Handle<IfcSurface> | IfcSurface);
    type IfcGridPlacementDirectionSelect = (Handle<IfcDirection> | IfcDirection) | (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection);
    type IfcHatchLineDistanceSelect = IfcPositiveLengthMeasure | (Handle<IfcVector> | IfcVector);
    type IfcInterferenceSelect = (Handle<IfcElement> | IfcElement) | (Handle<IfcSpatialElement> | IfcSpatialElement);
    type IfcLayeredItem = (Handle<IfcRepresentation> | IfcRepresentation) | (Handle<IfcRepresentationItem> | IfcRepresentationItem);
    type IfcLibrarySelect = (Handle<IfcLibraryInformation> | IfcLibraryInformation) | (Handle<IfcLibraryReference> | IfcLibraryReference);
    type IfcLightDistributionDataSourceSelect = (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcLightIntensityDistribution> | IfcLightIntensityDistribution);
    type IfcMaterialSelect = (Handle<IfcMaterialDefinition> | IfcMaterialDefinition) | (Handle<IfcMaterialList> | IfcMaterialList) | (Handle<IfcMaterialUsageDefinition> | IfcMaterialUsageDefinition);
    type IfcMeasureValue = IfcAmountOfSubstanceMeasure | IfcAreaMeasure | IfcComplexNumber | IfcContextDependentMeasure | IfcCountMeasure | IfcDescriptiveMeasure | IfcElectricCurrentMeasure | IfcLengthMeasure | IfcLuminousIntensityMeasure | IfcMassMeasure | IfcNonNegativeLengthMeasure | IfcNormalisedRatioMeasure | IfcNumericMeasure | IfcParameterValue | IfcPlaneAngleMeasure | IfcPositiveLengthMeasure | IfcPositivePlaneAngleMeasure | IfcPositiveRatioMeasure | IfcRatioMeasure | IfcSolidAngleMeasure | IfcThermodynamicTemperatureMeasure | IfcTimeMeasure | IfcVolumeMeasure;
    type IfcMetricValueSelect = (Handle<IfcAppliedValue> | IfcAppliedValue) | (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | (Handle<IfcReference> | IfcReference) | (Handle<IfcTable> | IfcTable) | (Handle<IfcTimeSeries> | IfcTimeSeries) | IfcValue;
    type IfcModulusOfRotationalSubgradeReactionSelect = IfcBoolean | IfcModulusOfRotationalSubgradeReactionMeasure;
    type IfcModulusOfSubgradeReactionSelect = IfcBoolean | IfcModulusOfSubgradeReactionMeasure;
    type IfcModulusOfTranslationalSubgradeReactionSelect = IfcBoolean | IfcModulusOfLinearSubgradeReactionMeasure;
    type IfcObjectReferenceSelect = (Handle<IfcAddress> | IfcAddress) | (Handle<IfcAppliedValue> | IfcAppliedValue) | (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcMaterialDefinition> | IfcMaterialDefinition) | (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | (Handle<IfcTable> | IfcTable) | (Handle<IfcTimeSeries> | IfcTimeSeries);
    type IfcPointOrVertexPoint = (Handle<IfcPoint> | IfcPoint) | (Handle<IfcVertexPoint> | IfcVertexPoint);
    type IfcProcessSelect = (Handle<IfcProcess> | IfcProcess) | (Handle<IfcTypeProcess> | IfcTypeProcess);
    type IfcProductRepresentationSelect = (Handle<IfcProductDefinitionShape> | IfcProductDefinitionShape) | (Handle<IfcRepresentationMap> | IfcRepresentationMap);
    type IfcProductSelect = (Handle<IfcProduct> | IfcProduct) | (Handle<IfcTypeProduct> | IfcTypeProduct);
    type IfcPropertySetDefinitionSelect = (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition) | IfcPropertySetDefinitionSet;
    type IfcResourceObjectSelect = (Handle<IfcActorRole> | IfcActorRole) | (Handle<IfcAppliedValue> | IfcAppliedValue) | (Handle<IfcApproval> | IfcApproval) | (Handle<IfcConstraint> | IfcConstraint) | (Handle<IfcContextDependentUnit> | IfcContextDependentUnit) | (Handle<IfcConversionBasedUnit> | IfcConversionBasedUnit) | (Handle<IfcExternalInformation> | IfcExternalInformation) | (Handle<IfcExternalReference> | IfcExternalReference) | (Handle<IfcMaterialDefinition> | IfcMaterialDefinition) | (Handle<IfcOrganization> | IfcOrganization) | (Handle<IfcPerson> | IfcPerson) | (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | (Handle<IfcProfileDef> | IfcProfileDef) | (Handle<IfcPropertyAbstraction> | IfcPropertyAbstraction) | (Handle<IfcShapeAspect> | IfcShapeAspect) | (Handle<IfcTimeSeries> | IfcTimeSeries);
    type IfcResourceSelect = (Handle<IfcResource> | IfcResource) | (Handle<IfcTypeResource> | IfcTypeResource);
    type IfcRotationalStiffnessSelect = IfcBoolean | IfcRotationalStiffnessMeasure;
    type IfcSegmentIndexSelect = IfcArcIndex | IfcLineIndex;
    type IfcShell = (Handle<IfcClosedShell> | IfcClosedShell) | (Handle<IfcOpenShell> | IfcOpenShell);
    type IfcSimpleValue = IfcBinary | IfcBoolean | IfcDate | IfcDateTime | IfcDuration | IfcIdentifier | IfcInteger | IfcLabel | IfcLogical | IfcPositiveInteger | IfcReal | IfcText | IfcTime | IfcTimeStamp;
    type IfcSizeSelect = IfcDescriptiveMeasure | IfcLengthMeasure | IfcNormalisedRatioMeasure | IfcPositiveLengthMeasure | IfcPositiveRatioMeasure | IfcRatioMeasure;
    type IfcSolidOrShell = (Handle<IfcClosedShell> | IfcClosedShell) | (Handle<IfcSolidModel> | IfcSolidModel);
    type IfcSpaceBoundarySelect = (Handle<IfcExternalSpatialElement> | IfcExternalSpatialElement) | (Handle<IfcSpace> | IfcSpace);
    type IfcSpatialReferenceSelect = (Handle<IfcGroup> | IfcGroup) | (Handle<IfcProduct> | IfcProduct);
    type IfcSpecularHighlightSelect = IfcSpecularExponent | IfcSpecularRoughness;
    type IfcStructuralActivityAssignmentSelect = (Handle<IfcElement> | IfcElement) | (Handle<IfcStructuralItem> | IfcStructuralItem);
    type IfcSurfaceOrFaceSurface = (Handle<IfcFaceBasedSurfaceModel> | IfcFaceBasedSurfaceModel) | (Handle<IfcFaceSurface> | IfcFaceSurface) | (Handle<IfcSurface> | IfcSurface);
    type IfcSurfaceStyleElementSelect = (Handle<IfcExternallyDefinedSurfaceStyle> | IfcExternallyDefinedSurfaceStyle) | (Handle<IfcSurfaceStyleLighting> | IfcSurfaceStyleLighting) | (Handle<IfcSurfaceStyleRefraction> | IfcSurfaceStyleRefraction) | (Handle<IfcSurfaceStyleShading> | IfcSurfaceStyleShading) | (Handle<IfcSurfaceStyleWithTextures> | IfcSurfaceStyleWithTextures);
    type IfcTextFontSelect = (Handle<IfcExternallyDefinedTextFont> | IfcExternallyDefinedTextFont) | (Handle<IfcPreDefinedTextFont> | IfcPreDefinedTextFont);
    type IfcTimeOrRatioSelect = IfcDuration | IfcRatioMeasure;
    type IfcTranslationalStiffnessSelect = IfcBoolean | IfcLinearStiffnessMeasure;
    type IfcTrimmingSelect = (Handle<IfcCartesianPoint> | IfcCartesianPoint) | IfcParameterValue;
    type IfcUnit = (Handle<IfcDerivedUnit> | IfcDerivedUnit) | (Handle<IfcMonetaryUnit> | IfcMonetaryUnit) | (Handle<IfcNamedUnit> | IfcNamedUnit);
    type IfcValue = IfcDerivedMeasureValue | IfcMeasureValue | IfcSimpleValue;
    type IfcVectorOrDirection = (Handle<IfcDirection> | IfcDirection) | (Handle<IfcVector> | IfcVector);
    type IfcWarpingStiffnessSelect = IfcBoolean | IfcWarpingMomentMeasure;
    class IfcActorRole extends IfcLineObject {
        Role: IfcRoleEnum;
        UserDefinedRole: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Role: IfcRoleEnum, UserDefinedRole: IfcLabel | null, Description: IfcText | null);
    }
    class IfcAddress extends IfcLineObject {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        type: number;
        OfPerson: (Handle<IfcPerson> | IfcPerson)[] | null;
        OfOrganization: (Handle<IfcOrganization> | IfcOrganization)[] | null;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null);
    }
    class IfcAlignmentParameterSegment extends IfcLineObject {
        StartTag: IfcLabel | null;
        EndTag: IfcLabel | null;
        type: number;
        constructor(StartTag: IfcLabel | null, EndTag: IfcLabel | null);
    }
    class IfcAlignmentVerticalSegment extends IfcAlignmentParameterSegment {
        StartTag: IfcLabel | null;
        EndTag: IfcLabel | null;
        StartDistAlong: IfcLengthMeasure;
        HorizontalLength: IfcNonNegativeLengthMeasure;
        StartHeight: IfcLengthMeasure;
        StartGradient: IfcRatioMeasure;
        EndGradient: IfcRatioMeasure;
        RadiusOfCurvature: IfcLengthMeasure | null;
        PredefinedType: IfcAlignmentVerticalSegmentTypeEnum;
        type: number;
        constructor(StartTag: IfcLabel | null, EndTag: IfcLabel | null, StartDistAlong: IfcLengthMeasure, HorizontalLength: IfcNonNegativeLengthMeasure, StartHeight: IfcLengthMeasure, StartGradient: IfcRatioMeasure, EndGradient: IfcRatioMeasure, RadiusOfCurvature: IfcLengthMeasure | null, PredefinedType: IfcAlignmentVerticalSegmentTypeEnum);
    }
    class IfcApplication extends IfcLineObject {
        ApplicationDeveloper: (Handle<IfcOrganization> | IfcOrganization);
        Version: IfcLabel;
        ApplicationFullName: IfcLabel;
        ApplicationIdentifier: IfcIdentifier;
        type: number;
        constructor(ApplicationDeveloper: (Handle<IfcOrganization> | IfcOrganization), Version: IfcLabel, ApplicationFullName: IfcLabel, ApplicationIdentifier: IfcIdentifier);
    }
    class IfcAppliedValue extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        AppliedValue: IfcAppliedValueSelect | null;
        UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        ApplicableDate: IfcDate | null;
        FixedUntilDate: IfcDate | null;
        Category: IfcLabel | null;
        Condition: IfcLabel | null;
        ArithmeticOperator: IfcArithmeticOperatorEnum | null;
        Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, AppliedValue: IfcAppliedValueSelect | null, UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, ApplicableDate: IfcDate | null, FixedUntilDate: IfcDate | null, Category: IfcLabel | null, Condition: IfcLabel | null, ArithmeticOperator: IfcArithmeticOperatorEnum | null, Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null);
    }
    class IfcApproval extends IfcLineObject {
        Identifier: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        TimeOfApproval: IfcDateTime | null;
        Status: IfcLabel | null;
        Level: IfcLabel | null;
        Qualifier: IfcText | null;
        RequestingApproval: IfcActorSelect | null;
        GivingApproval: IfcActorSelect | null;
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        ApprovedObjects: (Handle<IfcRelAssociatesApproval> | IfcRelAssociatesApproval)[] | null;
        ApprovedResources: (Handle<IfcResourceApprovalRelationship> | IfcResourceApprovalRelationship)[] | null;
        IsRelatedWith: (Handle<IfcApprovalRelationship> | IfcApprovalRelationship)[] | null;
        Relates: (Handle<IfcApprovalRelationship> | IfcApprovalRelationship)[] | null;
        constructor(Identifier: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, TimeOfApproval: IfcDateTime | null, Status: IfcLabel | null, Level: IfcLabel | null, Qualifier: IfcText | null, RequestingApproval: IfcActorSelect | null, GivingApproval: IfcActorSelect | null);
    }
    class IfcBoundaryCondition extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcBoundaryEdgeCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessByLengthX: IfcModulusOfTranslationalSubgradeReactionSelect | null;
        TranslationalStiffnessByLengthY: IfcModulusOfTranslationalSubgradeReactionSelect | null;
        TranslationalStiffnessByLengthZ: IfcModulusOfTranslationalSubgradeReactionSelect | null;
        RotationalStiffnessByLengthX: IfcModulusOfRotationalSubgradeReactionSelect | null;
        RotationalStiffnessByLengthY: IfcModulusOfRotationalSubgradeReactionSelect | null;
        RotationalStiffnessByLengthZ: IfcModulusOfRotationalSubgradeReactionSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessByLengthX: IfcModulusOfTranslationalSubgradeReactionSelect | null, TranslationalStiffnessByLengthY: IfcModulusOfTranslationalSubgradeReactionSelect | null, TranslationalStiffnessByLengthZ: IfcModulusOfTranslationalSubgradeReactionSelect | null, RotationalStiffnessByLengthX: IfcModulusOfRotationalSubgradeReactionSelect | null, RotationalStiffnessByLengthY: IfcModulusOfRotationalSubgradeReactionSelect | null, RotationalStiffnessByLengthZ: IfcModulusOfRotationalSubgradeReactionSelect | null);
    }
    class IfcBoundaryFaceCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessByAreaX: IfcModulusOfSubgradeReactionSelect | null;
        TranslationalStiffnessByAreaY: IfcModulusOfSubgradeReactionSelect | null;
        TranslationalStiffnessByAreaZ: IfcModulusOfSubgradeReactionSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessByAreaX: IfcModulusOfSubgradeReactionSelect | null, TranslationalStiffnessByAreaY: IfcModulusOfSubgradeReactionSelect | null, TranslationalStiffnessByAreaZ: IfcModulusOfSubgradeReactionSelect | null);
    }
    class IfcBoundaryNodeCondition extends IfcBoundaryCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null;
        RotationalStiffnessX: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessY: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessZ: IfcRotationalStiffnessSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null, RotationalStiffnessX: IfcRotationalStiffnessSelect | null, RotationalStiffnessY: IfcRotationalStiffnessSelect | null, RotationalStiffnessZ: IfcRotationalStiffnessSelect | null);
    }
    class IfcBoundaryNodeConditionWarping extends IfcBoundaryNodeCondition {
        Name: IfcLabel | null;
        TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null;
        TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null;
        RotationalStiffnessX: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessY: IfcRotationalStiffnessSelect | null;
        RotationalStiffnessZ: IfcRotationalStiffnessSelect | null;
        WarpingStiffness: IfcWarpingStiffnessSelect | null;
        type: number;
        constructor(Name: IfcLabel | null, TranslationalStiffnessX: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessY: IfcTranslationalStiffnessSelect | null, TranslationalStiffnessZ: IfcTranslationalStiffnessSelect | null, RotationalStiffnessX: IfcRotationalStiffnessSelect | null, RotationalStiffnessY: IfcRotationalStiffnessSelect | null, RotationalStiffnessZ: IfcRotationalStiffnessSelect | null, WarpingStiffness: IfcWarpingStiffnessSelect | null);
    }
    class IfcConnectionGeometry extends IfcLineObject {
        type: number;
        constructor();
    }
    class IfcConnectionPointGeometry extends IfcConnectionGeometry {
        PointOnRelatingElement: IfcPointOrVertexPoint;
        PointOnRelatedElement: IfcPointOrVertexPoint | null;
        type: number;
        constructor(PointOnRelatingElement: IfcPointOrVertexPoint, PointOnRelatedElement: IfcPointOrVertexPoint | null);
    }
    class IfcConnectionSurfaceGeometry extends IfcConnectionGeometry {
        SurfaceOnRelatingElement: IfcSurfaceOrFaceSurface;
        SurfaceOnRelatedElement: IfcSurfaceOrFaceSurface | null;
        type: number;
        constructor(SurfaceOnRelatingElement: IfcSurfaceOrFaceSurface, SurfaceOnRelatedElement: IfcSurfaceOrFaceSurface | null);
    }
    class IfcConnectionVolumeGeometry extends IfcConnectionGeometry {
        VolumeOnRelatingElement: IfcSolidOrShell;
        VolumeOnRelatedElement: IfcSolidOrShell | null;
        type: number;
        constructor(VolumeOnRelatingElement: IfcSolidOrShell, VolumeOnRelatedElement: IfcSolidOrShell | null);
    }
    class IfcConstraint extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTime | null;
        UserDefinedGrade: IfcLabel | null;
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        PropertiesForConstraint: (Handle<IfcResourceConstraintRelationship> | IfcResourceConstraintRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTime | null, UserDefinedGrade: IfcLabel | null);
    }
    class IfcCoordinateOperation extends IfcLineObject {
        SourceCRS: IfcCoordinateReferenceSystemSelect;
        TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem);
        type: number;
        constructor(SourceCRS: IfcCoordinateReferenceSystemSelect, TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem));
    }
    class IfcCoordinateReferenceSystem extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        GeodeticDatum: IfcIdentifier | null;
        VerticalDatum: IfcIdentifier | null;
        type: number;
        HasCoordinateOperation: (Handle<IfcCoordinateOperation> | IfcCoordinateOperation)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, GeodeticDatum: IfcIdentifier | null, VerticalDatum: IfcIdentifier | null);
    }
    class IfcCostValue extends IfcAppliedValue {
        Name: IfcLabel | null;
        Description: IfcText | null;
        AppliedValue: IfcAppliedValueSelect | null;
        UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        ApplicableDate: IfcDate | null;
        FixedUntilDate: IfcDate | null;
        Category: IfcLabel | null;
        Condition: IfcLabel | null;
        ArithmeticOperator: IfcArithmeticOperatorEnum | null;
        Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, AppliedValue: IfcAppliedValueSelect | null, UnitBasis: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null, ApplicableDate: IfcDate | null, FixedUntilDate: IfcDate | null, Category: IfcLabel | null, Condition: IfcLabel | null, ArithmeticOperator: IfcArithmeticOperatorEnum | null, Components: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null);
    }
    class IfcDerivedUnit extends IfcLineObject {
        Elements: (Handle<IfcDerivedUnitElement> | IfcDerivedUnitElement)[];
        UnitType: IfcDerivedUnitEnum;
        UserDefinedType: IfcLabel | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Elements: (Handle<IfcDerivedUnitElement> | IfcDerivedUnitElement)[], UnitType: IfcDerivedUnitEnum, UserDefinedType: IfcLabel | null, Name: IfcLabel | null);
    }
    class IfcDerivedUnitElement extends IfcLineObject {
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit);
        Exponent: number;
        type: number;
        constructor(Unit: (Handle<IfcNamedUnit> | IfcNamedUnit), Exponent: number);
    }
    class IfcDimensionalExponents extends IfcLineObject {
        LengthExponent: number;
        MassExponent: number;
        TimeExponent: number;
        ElectricCurrentExponent: number;
        ThermodynamicTemperatureExponent: number;
        AmountOfSubstanceExponent: number;
        LuminousIntensityExponent: number;
        type: number;
        constructor(LengthExponent: number, MassExponent: number, TimeExponent: number, ElectricCurrentExponent: number, ThermodynamicTemperatureExponent: number, AmountOfSubstanceExponent: number, LuminousIntensityExponent: number);
    }
    class IfcExternalInformation extends IfcLineObject {
        type: number;
        constructor();
    }
    class IfcExternalReference extends IfcLineObject {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        ExternalReferenceForResources: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedHatchStyle extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedSurfaceStyle extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcExternallyDefinedTextFont extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        type: number;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null);
    }
    class IfcGridAxis extends IfcLineObject {
        AxisTag: IfcLabel | null;
        AxisCurve: (Handle<IfcCurve> | IfcCurve);
        SameSense: IfcBoolean;
        type: number;
        PartOfW: (Handle<IfcGrid> | IfcGrid)[] | null;
        PartOfV: (Handle<IfcGrid> | IfcGrid)[] | null;
        PartOfU: (Handle<IfcGrid> | IfcGrid)[] | null;
        HasIntersections: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection)[] | null;
        constructor(AxisTag: IfcLabel | null, AxisCurve: (Handle<IfcCurve> | IfcCurve), SameSense: IfcBoolean);
    }
    class IfcIrregularTimeSeriesValue extends IfcLineObject {
        TimeStamp: IfcDateTime;
        ListValues: IfcValue[];
        type: number;
        constructor(TimeStamp: IfcDateTime, ListValues: IfcValue[]);
    }
    class IfcLibraryInformation extends IfcExternalInformation {
        Name: IfcLabel;
        Version: IfcLabel | null;
        Publisher: IfcActorSelect | null;
        VersionDate: IfcDateTime | null;
        Location: IfcURIReference | null;
        Description: IfcText | null;
        type: number;
        LibraryInfoForObjects: (Handle<IfcRelAssociatesLibrary> | IfcRelAssociatesLibrary)[] | null;
        HasLibraryReferences: (Handle<IfcLibraryReference> | IfcLibraryReference)[] | null;
        constructor(Name: IfcLabel, Version: IfcLabel | null, Publisher: IfcActorSelect | null, VersionDate: IfcDateTime | null, Location: IfcURIReference | null, Description: IfcText | null);
    }
    class IfcLibraryReference extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Language: IfcLanguageId | null;
        ReferencedLibrary: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null;
        type: number;
        LibraryRefForObjects: (Handle<IfcRelAssociatesLibrary> | IfcRelAssociatesLibrary)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, Language: IfcLanguageId | null, ReferencedLibrary: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null);
    }
    class IfcLightDistributionData extends IfcLineObject {
        MainPlaneAngle: IfcPlaneAngleMeasure;
        SecondaryPlaneAngle: IfcPlaneAngleMeasure[];
        LuminousIntensity: IfcLuminousIntensityDistributionMeasure[];
        type: number;
        constructor(MainPlaneAngle: IfcPlaneAngleMeasure, SecondaryPlaneAngle: IfcPlaneAngleMeasure[], LuminousIntensity: IfcLuminousIntensityDistributionMeasure[]);
    }
    class IfcLightIntensityDistribution extends IfcLineObject {
        LightDistributionCurve: IfcLightDistributionCurveEnum;
        DistributionData: (Handle<IfcLightDistributionData> | IfcLightDistributionData)[];
        type: number;
        constructor(LightDistributionCurve: IfcLightDistributionCurveEnum, DistributionData: (Handle<IfcLightDistributionData> | IfcLightDistributionData)[]);
    }
    class IfcMapConversion extends IfcCoordinateOperation {
        SourceCRS: IfcCoordinateReferenceSystemSelect;
        TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem);
        Eastings: IfcLengthMeasure;
        Northings: IfcLengthMeasure;
        OrthogonalHeight: IfcLengthMeasure;
        XAxisAbscissa: IfcReal | null;
        XAxisOrdinate: IfcReal | null;
        Scale: IfcReal | null;
        ScaleY: IfcReal | null;
        ScaleZ: IfcReal | null;
        type: number;
        constructor(SourceCRS: IfcCoordinateReferenceSystemSelect, TargetCRS: (Handle<IfcCoordinateReferenceSystem> | IfcCoordinateReferenceSystem), Eastings: IfcLengthMeasure, Northings: IfcLengthMeasure, OrthogonalHeight: IfcLengthMeasure, XAxisAbscissa: IfcReal | null, XAxisOrdinate: IfcReal | null, Scale: IfcReal | null, ScaleY: IfcReal | null, ScaleZ: IfcReal | null);
    }
    class IfcMaterialClassificationRelationship extends IfcLineObject {
        MaterialClassifications: IfcClassificationSelect[];
        ClassifiedMaterial: (Handle<IfcMaterial> | IfcMaterial);
        type: number;
        constructor(MaterialClassifications: IfcClassificationSelect[], ClassifiedMaterial: (Handle<IfcMaterial> | IfcMaterial));
    }
    class IfcMaterialDefinition extends IfcLineObject {
        type: number;
        AssociatedTo: (Handle<IfcRelAssociatesMaterial> | IfcRelAssociatesMaterial)[] | null;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        HasProperties: (Handle<IfcMaterialProperties> | IfcMaterialProperties)[] | null;
        constructor();
    }
    class IfcMaterialLayer extends IfcMaterialDefinition {
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        LayerThickness: IfcNonNegativeLengthMeasure;
        IsVentilated: IfcLogical | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Category: IfcLabel | null;
        Priority: IfcInteger | null;
        type: number;
        ToMaterialLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet) | null;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial) | null, LayerThickness: IfcNonNegativeLengthMeasure, IsVentilated: IfcLogical | null, Name: IfcLabel | null, Description: IfcText | null, Category: IfcLabel | null, Priority: IfcInteger | null);
    }
    class IfcMaterialLayerSet extends IfcMaterialDefinition {
        MaterialLayers: (Handle<IfcMaterialLayer> | IfcMaterialLayer)[];
        LayerSetName: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(MaterialLayers: (Handle<IfcMaterialLayer> | IfcMaterialLayer)[], LayerSetName: IfcLabel | null, Description: IfcText | null);
    }
    class IfcMaterialLayerWithOffsets extends IfcMaterialLayer {
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        LayerThickness: IfcNonNegativeLengthMeasure;
        IsVentilated: IfcLogical | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Category: IfcLabel | null;
        Priority: IfcInteger | null;
        OffsetDirection: IfcLayerSetDirectionEnum;
        OffsetValues: IfcLengthMeasure;
        type: number;
        constructor(Material: (Handle<IfcMaterial> | IfcMaterial) | null, LayerThickness: IfcNonNegativeLengthMeasure, IsVentilated: IfcLogical | null, Name: IfcLabel | null, Description: IfcText | null, Category: IfcLabel | null, Priority: IfcInteger | null, OffsetDirection: IfcLayerSetDirectionEnum, OffsetValues: IfcLengthMeasure);
    }
    class IfcMaterialList extends IfcLineObject {
        Materials: (Handle<IfcMaterial> | IfcMaterial)[];
        type: number;
        constructor(Materials: (Handle<IfcMaterial> | IfcMaterial)[]);
    }
    class IfcMaterialProfile extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        Profile: (Handle<IfcProfileDef> | IfcProfileDef);
        Priority: IfcInteger | null;
        Category: IfcLabel | null;
        type: number;
        ToMaterialProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet) | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Material: (Handle<IfcMaterial> | IfcMaterial) | null, Profile: (Handle<IfcProfileDef> | IfcProfileDef), Priority: IfcInteger | null, Category: IfcLabel | null);
    }
    class IfcMaterialProfileSet extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        MaterialProfiles: (Handle<IfcMaterialProfile> | IfcMaterialProfile)[];
        CompositeProfile: (Handle<IfcCompositeProfileDef> | IfcCompositeProfileDef) | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, MaterialProfiles: (Handle<IfcMaterialProfile> | IfcMaterialProfile)[], CompositeProfile: (Handle<IfcCompositeProfileDef> | IfcCompositeProfileDef) | null);
    }
    class IfcMaterialProfileWithOffsets extends IfcMaterialProfile {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Material: (Handle<IfcMaterial> | IfcMaterial) | null;
        Profile: (Handle<IfcProfileDef> | IfcProfileDef);
        Priority: IfcInteger | null;
        Category: IfcLabel | null;
        OffsetValues: IfcLengthMeasure;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Material: (Handle<IfcMaterial> | IfcMaterial) | null, Profile: (Handle<IfcProfileDef> | IfcProfileDef), Priority: IfcInteger | null, Category: IfcLabel | null, OffsetValues: IfcLengthMeasure);
    }
    class IfcMaterialUsageDefinition extends IfcLineObject {
        type: number;
        AssociatedTo: (Handle<IfcRelAssociatesMaterial> | IfcRelAssociatesMaterial)[] | null;
        constructor();
    }
    class IfcMeasureWithUnit extends IfcLineObject {
        ValueComponent: IfcValue;
        UnitComponent: IfcUnit;
        type: number;
        constructor(ValueComponent: IfcValue, UnitComponent: IfcUnit);
    }
    class IfcMetric extends IfcConstraint {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTime | null;
        UserDefinedGrade: IfcLabel | null;
        Benchmark: IfcBenchmarkEnum;
        ValueSource: IfcLabel | null;
        DataValue: IfcMetricValueSelect | null;
        ReferencePath: (Handle<IfcReference> | IfcReference) | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTime | null, UserDefinedGrade: IfcLabel | null, Benchmark: IfcBenchmarkEnum, ValueSource: IfcLabel | null, DataValue: IfcMetricValueSelect | null, ReferencePath: (Handle<IfcReference> | IfcReference) | null);
    }
    class IfcMonetaryUnit extends IfcLineObject {
        Currency: IfcLabel;
        type: number;
        constructor(Currency: IfcLabel);
    }
    class IfcNamedUnit extends IfcLineObject {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        type: number;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum);
    }
    class IfcObjectPlacement extends IfcLineObject {
        PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        type: number;
        PlacesObject: (Handle<IfcProduct> | IfcProduct)[] | null;
        ReferencedByPlacements: (Handle<IfcObjectPlacement> | IfcObjectPlacement)[] | null;
        constructor(PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null);
    }
    class IfcObjective extends IfcConstraint {
        Name: IfcLabel;
        Description: IfcText | null;
        ConstraintGrade: IfcConstraintEnum;
        ConstraintSource: IfcLabel | null;
        CreatingActor: IfcActorSelect | null;
        CreationTime: IfcDateTime | null;
        UserDefinedGrade: IfcLabel | null;
        BenchmarkValues: (Handle<IfcConstraint> | IfcConstraint)[] | null;
        LogicalAggregator: IfcLogicalOperatorEnum | null;
        ObjectiveQualifier: IfcObjectiveEnum;
        UserDefinedQualifier: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, ConstraintGrade: IfcConstraintEnum, ConstraintSource: IfcLabel | null, CreatingActor: IfcActorSelect | null, CreationTime: IfcDateTime | null, UserDefinedGrade: IfcLabel | null, BenchmarkValues: (Handle<IfcConstraint> | IfcConstraint)[] | null, LogicalAggregator: IfcLogicalOperatorEnum | null, ObjectiveQualifier: IfcObjectiveEnum, UserDefinedQualifier: IfcLabel | null);
    }
    class IfcOrganization extends IfcLineObject {
        Identification: IfcIdentifier | null;
        Name: IfcLabel;
        Description: IfcText | null;
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        Addresses: (Handle<IfcAddress> | IfcAddress)[] | null;
        type: number;
        IsRelatedBy: (Handle<IfcOrganizationRelationship> | IfcOrganizationRelationship)[] | null;
        Relates: (Handle<IfcOrganizationRelationship> | IfcOrganizationRelationship)[] | null;
        Engages: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization)[] | null;
        constructor(Identification: IfcIdentifier | null, Name: IfcLabel, Description: IfcText | null, Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null, Addresses: (Handle<IfcAddress> | IfcAddress)[] | null);
    }
    class IfcOwnerHistory extends IfcLineObject {
        OwningUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization);
        OwningApplication: (Handle<IfcApplication> | IfcApplication);
        State: IfcStateEnum | null;
        ChangeAction: IfcChangeActionEnum | null;
        LastModifiedDate: IfcTimeStamp | null;
        LastModifyingUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | null;
        LastModifyingApplication: (Handle<IfcApplication> | IfcApplication) | null;
        CreationDate: IfcTimeStamp;
        type: number;
        constructor(OwningUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization), OwningApplication: (Handle<IfcApplication> | IfcApplication), State: IfcStateEnum | null, ChangeAction: IfcChangeActionEnum | null, LastModifiedDate: IfcTimeStamp | null, LastModifyingUser: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization) | null, LastModifyingApplication: (Handle<IfcApplication> | IfcApplication) | null, CreationDate: IfcTimeStamp);
    }
    class IfcPerson extends IfcLineObject {
        Identification: IfcIdentifier | null;
        FamilyName: IfcLabel | null;
        GivenName: IfcLabel | null;
        MiddleNames: IfcLabel[] | null;
        PrefixTitles: IfcLabel[] | null;
        SuffixTitles: IfcLabel[] | null;
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        Addresses: (Handle<IfcAddress> | IfcAddress)[] | null;
        type: number;
        EngagedIn: (Handle<IfcPersonAndOrganization> | IfcPersonAndOrganization)[] | null;
        constructor(Identification: IfcIdentifier | null, FamilyName: IfcLabel | null, GivenName: IfcLabel | null, MiddleNames: IfcLabel[] | null, PrefixTitles: IfcLabel[] | null, SuffixTitles: IfcLabel[] | null, Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null, Addresses: (Handle<IfcAddress> | IfcAddress)[] | null);
    }
    class IfcPersonAndOrganization extends IfcLineObject {
        ThePerson: (Handle<IfcPerson> | IfcPerson);
        TheOrganization: (Handle<IfcOrganization> | IfcOrganization);
        Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null;
        type: number;
        constructor(ThePerson: (Handle<IfcPerson> | IfcPerson), TheOrganization: (Handle<IfcOrganization> | IfcOrganization), Roles: (Handle<IfcActorRole> | IfcActorRole)[] | null);
    }
    class IfcPhysicalQuantity extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        PartOfComplex: (Handle<IfcPhysicalComplexQuantity> | IfcPhysicalComplexQuantity)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null);
    }
    class IfcPhysicalSimpleQuantity extends IfcPhysicalQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null);
    }
    class IfcPostalAddress extends IfcAddress {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        InternalLocation: IfcLabel | null;
        AddressLines: IfcLabel[] | null;
        PostalBox: IfcLabel | null;
        Town: IfcLabel | null;
        Region: IfcLabel | null;
        PostalCode: IfcLabel | null;
        Country: IfcLabel | null;
        type: number;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null, InternalLocation: IfcLabel | null, AddressLines: IfcLabel[] | null, PostalBox: IfcLabel | null, Town: IfcLabel | null, Region: IfcLabel | null, PostalCode: IfcLabel | null, Country: IfcLabel | null);
    }
    class IfcPresentationItem extends IfcLineObject {
        type: number;
        constructor();
    }
    class IfcPresentationLayerAssignment extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        AssignedItems: IfcLayeredItem[];
        Identifier: IfcIdentifier | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, AssignedItems: IfcLayeredItem[], Identifier: IfcIdentifier | null);
    }
    class IfcPresentationLayerWithStyle extends IfcPresentationLayerAssignment {
        Name: IfcLabel;
        Description: IfcText | null;
        AssignedItems: IfcLayeredItem[];
        Identifier: IfcIdentifier | null;
        LayerOn: IfcLogical;
        LayerFrozen: IfcLogical;
        LayerBlocked: IfcLogical;
        LayerStyles: (Handle<IfcPresentationStyle> | IfcPresentationStyle)[] | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, AssignedItems: IfcLayeredItem[], Identifier: IfcIdentifier | null, LayerOn: IfcLogical, LayerFrozen: IfcLogical, LayerBlocked: IfcLogical, LayerStyles: (Handle<IfcPresentationStyle> | IfcPresentationStyle)[] | null);
    }
    class IfcPresentationStyle extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcProductRepresentation extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[]);
    }
    class IfcProfileDef extends IfcLineObject {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        HasProperties: (Handle<IfcProfileProperties> | IfcProfileProperties)[] | null;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null);
    }
    class IfcProjectedCRS extends IfcCoordinateReferenceSystem {
        Name: IfcLabel;
        Description: IfcText | null;
        GeodeticDatum: IfcIdentifier | null;
        VerticalDatum: IfcIdentifier | null;
        MapProjection: IfcIdentifier | null;
        MapZone: IfcIdentifier | null;
        MapUnit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, GeodeticDatum: IfcIdentifier | null, VerticalDatum: IfcIdentifier | null, MapProjection: IfcIdentifier | null, MapZone: IfcIdentifier | null, MapUnit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null);
    }
    class IfcPropertyAbstraction extends IfcLineObject {
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor();
    }
    class IfcPropertyEnumeration extends IfcPropertyAbstraction {
        Name: IfcLabel;
        EnumerationValues: IfcValue[];
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcLabel, EnumerationValues: IfcValue[], Unit: IfcUnit | null);
    }
    class IfcQuantityArea extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        AreaValue: IfcAreaMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, AreaValue: IfcAreaMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityCount extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        CountValue: IfcCountMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, CountValue: IfcCountMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityLength extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        LengthValue: IfcLengthMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, LengthValue: IfcLengthMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityNumber extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        NumberValue: IfcNumericMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, NumberValue: IfcNumericMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityTime extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        TimeValue: IfcTimeMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, TimeValue: IfcTimeMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityVolume extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        VolumeValue: IfcVolumeMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, VolumeValue: IfcVolumeMeasure, Formula: IfcLabel | null);
    }
    class IfcQuantityWeight extends IfcPhysicalSimpleQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null;
        WeightValue: IfcMassMeasure;
        Formula: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, Unit: (Handle<IfcNamedUnit> | IfcNamedUnit) | null, WeightValue: IfcMassMeasure, Formula: IfcLabel | null);
    }
    class IfcRecurrencePattern extends IfcLineObject {
        RecurrenceType: IfcRecurrenceTypeEnum;
        DayComponent: IfcDayInMonthNumber[] | null;
        WeekdayComponent: IfcDayInWeekNumber[] | null;
        MonthComponent: IfcMonthInYearNumber[] | null;
        Position: IfcInteger | null;
        Interval: IfcInteger | null;
        Occurrences: IfcInteger | null;
        TimePeriods: (Handle<IfcTimePeriod> | IfcTimePeriod)[] | null;
        type: number;
        constructor(RecurrenceType: IfcRecurrenceTypeEnum, DayComponent: IfcDayInMonthNumber[] | null, WeekdayComponent: IfcDayInWeekNumber[] | null, MonthComponent: IfcMonthInYearNumber[] | null, Position: IfcInteger | null, Interval: IfcInteger | null, Occurrences: IfcInteger | null, TimePeriods: (Handle<IfcTimePeriod> | IfcTimePeriod)[] | null);
    }
    class IfcReference extends IfcLineObject {
        TypeIdentifier: IfcIdentifier | null;
        AttributeIdentifier: IfcIdentifier | null;
        InstanceName: IfcLabel | null;
        ListPositions: IfcInteger[] | null;
        InnerReference: (Handle<IfcReference> | IfcReference) | null;
        type: number;
        constructor(TypeIdentifier: IfcIdentifier | null, AttributeIdentifier: IfcIdentifier | null, InstanceName: IfcLabel | null, ListPositions: IfcInteger[] | null, InnerReference: (Handle<IfcReference> | IfcReference) | null);
    }
    class IfcRepresentation extends IfcLineObject {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        RepresentationMap: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        LayerAssignments: (Handle<IfcPresentationLayerAssignment> | IfcPresentationLayerAssignment)[] | null;
        OfProductRepresentation: (Handle<IfcProductRepresentation> | IfcProductRepresentation)[] | null;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcRepresentationContext extends IfcLineObject {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        type: number;
        RepresentationsInContext: (Handle<IfcRepresentation> | IfcRepresentation)[] | null;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null);
    }
    class IfcRepresentationItem extends IfcLineObject {
        type: number;
        LayerAssignment: (Handle<IfcPresentationLayerAssignment> | IfcPresentationLayerAssignment)[] | null;
        StyledByItem: (Handle<IfcStyledItem> | IfcStyledItem)[] | null;
        constructor();
    }
    class IfcRepresentationMap extends IfcLineObject {
        MappingOrigin: IfcAxis2Placement;
        MappedRepresentation: (Handle<IfcRepresentation> | IfcRepresentation);
        type: number;
        HasShapeAspects: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        MapUsage: (Handle<IfcMappedItem> | IfcMappedItem)[] | null;
        constructor(MappingOrigin: IfcAxis2Placement, MappedRepresentation: (Handle<IfcRepresentation> | IfcRepresentation));
    }
    class IfcResourceLevelRelationship extends IfcLineObject {
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRoot extends IfcLineObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcSIUnit extends IfcNamedUnit {
        UnitType: IfcUnitEnum;
        Prefix: IfcSIPrefix | null;
        Name: IfcSIUnitName;
        type: number;
        constructor(UnitType: IfcUnitEnum, Prefix: IfcSIPrefix | null, Name: IfcSIUnitName);
    }
    class IfcSchedulingTime extends IfcLineObject {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null);
    }
    class IfcShapeAspect extends IfcLineObject {
        ShapeRepresentations: (Handle<IfcShapeModel> | IfcShapeModel)[];
        Name: IfcLabel | null;
        Description: IfcText | null;
        ProductDefinitional: IfcLogical;
        PartOfProductDefinitionShape: IfcProductRepresentationSelect | null;
        type: number;
        HasExternalReferences: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(ShapeRepresentations: (Handle<IfcShapeModel> | IfcShapeModel)[], Name: IfcLabel | null, Description: IfcText | null, ProductDefinitional: IfcLogical, PartOfProductDefinitionShape: IfcProductRepresentationSelect | null);
    }
    class IfcShapeModel extends IfcRepresentation {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        OfShapeAspect: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcShapeRepresentation extends IfcShapeModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcStructuralConnectionCondition extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoad extends IfcLineObject {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadConfiguration extends IfcStructuralLoad {
        Name: IfcLabel | null;
        Values: (Handle<IfcStructuralLoadOrResult> | IfcStructuralLoadOrResult)[];
        Locations: IfcLengthMeasure[][] | null;
        type: number;
        constructor(Name: IfcLabel | null, Values: (Handle<IfcStructuralLoadOrResult> | IfcStructuralLoadOrResult)[], Locations: IfcLengthMeasure[][] | null);
    }
    class IfcStructuralLoadOrResult extends IfcStructuralLoad {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadStatic extends IfcStructuralLoadOrResult {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcStructuralLoadTemperature extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        DeltaTConstant: IfcThermodynamicTemperatureMeasure | null;
        DeltaTY: IfcThermodynamicTemperatureMeasure | null;
        DeltaTZ: IfcThermodynamicTemperatureMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DeltaTConstant: IfcThermodynamicTemperatureMeasure | null, DeltaTY: IfcThermodynamicTemperatureMeasure | null, DeltaTZ: IfcThermodynamicTemperatureMeasure | null);
    }
    class IfcStyleModel extends IfcRepresentation {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcStyledItem extends IfcRepresentationItem {
        Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null;
        Styles: (Handle<IfcPresentationStyle> | IfcPresentationStyle)[];
        Name: IfcLabel | null;
        type: number;
        constructor(Item: (Handle<IfcRepresentationItem> | IfcRepresentationItem) | null, Styles: (Handle<IfcPresentationStyle> | IfcPresentationStyle)[], Name: IfcLabel | null);
    }
    class IfcStyledRepresentation extends IfcStyleModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcSurfaceReinforcementArea extends IfcStructuralLoadOrResult {
        Name: IfcLabel | null;
        SurfaceReinforcement1: IfcLengthMeasure[] | null;
        SurfaceReinforcement2: IfcLengthMeasure[] | null;
        ShearReinforcement: IfcRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, SurfaceReinforcement1: IfcLengthMeasure[] | null, SurfaceReinforcement2: IfcLengthMeasure[] | null, ShearReinforcement: IfcRatioMeasure | null);
    }
    class IfcSurfaceStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        Side: IfcSurfaceSide;
        Styles: IfcSurfaceStyleElementSelect[];
        type: number;
        constructor(Name: IfcLabel | null, Side: IfcSurfaceSide, Styles: IfcSurfaceStyleElementSelect[]);
    }
    class IfcSurfaceStyleLighting extends IfcPresentationItem {
        DiffuseTransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        DiffuseReflectionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        TransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb);
        ReflectanceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        type: number;
        constructor(DiffuseTransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb), DiffuseReflectionColour: (Handle<IfcColourRgb> | IfcColourRgb), TransmissionColour: (Handle<IfcColourRgb> | IfcColourRgb), ReflectanceColour: (Handle<IfcColourRgb> | IfcColourRgb));
    }
    class IfcSurfaceStyleRefraction extends IfcPresentationItem {
        RefractionIndex: IfcReal | null;
        DispersionFactor: IfcReal | null;
        type: number;
        constructor(RefractionIndex: IfcReal | null, DispersionFactor: IfcReal | null);
    }
    class IfcSurfaceStyleShading extends IfcPresentationItem {
        SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        Transparency: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb), Transparency: IfcNormalisedRatioMeasure | null);
    }
    class IfcSurfaceStyleWithTextures extends IfcPresentationItem {
        Textures: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        type: number;
        constructor(Textures: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[]);
    }
    class IfcSurfaceTexture extends IfcPresentationItem {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        type: number;
        IsMappedBy: (Handle<IfcTextureCoordinate> | IfcTextureCoordinate)[] | null;
        UsedInStyles: (Handle<IfcSurfaceStyleWithTextures> | IfcSurfaceStyleWithTextures)[] | null;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null);
    }
    class IfcTable extends IfcLineObject {
        Name: IfcLabel | null;
        Rows: (Handle<IfcTableRow> | IfcTableRow)[] | null;
        Columns: (Handle<IfcTableColumn> | IfcTableColumn)[] | null;
        type: number;
        constructor(Name: IfcLabel | null, Rows: (Handle<IfcTableRow> | IfcTableRow)[] | null, Columns: (Handle<IfcTableColumn> | IfcTableColumn)[] | null);
    }
    class IfcTableColumn extends IfcLineObject {
        Identifier: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        Unit: IfcUnit | null;
        ReferencePath: (Handle<IfcReference> | IfcReference) | null;
        type: number;
        constructor(Identifier: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, Unit: IfcUnit | null, ReferencePath: (Handle<IfcReference> | IfcReference) | null);
    }
    class IfcTableRow extends IfcLineObject {
        RowCells: IfcValue[] | null;
        IsHeading: IfcBoolean | null;
        type: number;
        constructor(RowCells: IfcValue[] | null, IsHeading: IfcBoolean | null);
    }
    class IfcTaskTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        DurationType: IfcTaskDurationEnum | null;
        ScheduleDuration: IfcDuration | null;
        ScheduleStart: IfcDateTime | null;
        ScheduleFinish: IfcDateTime | null;
        EarlyStart: IfcDateTime | null;
        EarlyFinish: IfcDateTime | null;
        LateStart: IfcDateTime | null;
        LateFinish: IfcDateTime | null;
        FreeFloat: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        IsCritical: IfcBoolean | null;
        StatusTime: IfcDateTime | null;
        ActualDuration: IfcDuration | null;
        ActualStart: IfcDateTime | null;
        ActualFinish: IfcDateTime | null;
        RemainingTime: IfcDuration | null;
        Completion: IfcPositiveRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, DurationType: IfcTaskDurationEnum | null, ScheduleDuration: IfcDuration | null, ScheduleStart: IfcDateTime | null, ScheduleFinish: IfcDateTime | null, EarlyStart: IfcDateTime | null, EarlyFinish: IfcDateTime | null, LateStart: IfcDateTime | null, LateFinish: IfcDateTime | null, FreeFloat: IfcDuration | null, TotalFloat: IfcDuration | null, IsCritical: IfcBoolean | null, StatusTime: IfcDateTime | null, ActualDuration: IfcDuration | null, ActualStart: IfcDateTime | null, ActualFinish: IfcDateTime | null, RemainingTime: IfcDuration | null, Completion: IfcPositiveRatioMeasure | null);
    }
    class IfcTaskTimeRecurring extends IfcTaskTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        DurationType: IfcTaskDurationEnum | null;
        ScheduleDuration: IfcDuration | null;
        ScheduleStart: IfcDateTime | null;
        ScheduleFinish: IfcDateTime | null;
        EarlyStart: IfcDateTime | null;
        EarlyFinish: IfcDateTime | null;
        LateStart: IfcDateTime | null;
        LateFinish: IfcDateTime | null;
        FreeFloat: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        IsCritical: IfcBoolean | null;
        StatusTime: IfcDateTime | null;
        ActualDuration: IfcDuration | null;
        ActualStart: IfcDateTime | null;
        ActualFinish: IfcDateTime | null;
        RemainingTime: IfcDuration | null;
        Completion: IfcPositiveRatioMeasure | null;
        Recurrence: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern);
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, DurationType: IfcTaskDurationEnum | null, ScheduleDuration: IfcDuration | null, ScheduleStart: IfcDateTime | null, ScheduleFinish: IfcDateTime | null, EarlyStart: IfcDateTime | null, EarlyFinish: IfcDateTime | null, LateStart: IfcDateTime | null, LateFinish: IfcDateTime | null, FreeFloat: IfcDuration | null, TotalFloat: IfcDuration | null, IsCritical: IfcBoolean | null, StatusTime: IfcDateTime | null, ActualDuration: IfcDuration | null, ActualStart: IfcDateTime | null, ActualFinish: IfcDateTime | null, RemainingTime: IfcDuration | null, Completion: IfcPositiveRatioMeasure | null, Recurrence: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern));
    }
    class IfcTelecomAddress extends IfcAddress {
        Purpose: IfcAddressTypeEnum | null;
        Description: IfcText | null;
        UserDefinedPurpose: IfcLabel | null;
        TelephoneNumbers: IfcLabel[] | null;
        FacsimileNumbers: IfcLabel[] | null;
        PagerNumber: IfcLabel | null;
        ElectronicMailAddresses: IfcLabel[] | null;
        WWWHomePageURL: IfcURIReference | null;
        MessagingIDs: IfcURIReference[] | null;
        type: number;
        constructor(Purpose: IfcAddressTypeEnum | null, Description: IfcText | null, UserDefinedPurpose: IfcLabel | null, TelephoneNumbers: IfcLabel[] | null, FacsimileNumbers: IfcLabel[] | null, PagerNumber: IfcLabel | null, ElectronicMailAddresses: IfcLabel[] | null, WWWHomePageURL: IfcURIReference | null, MessagingIDs: IfcURIReference[] | null);
    }
    class IfcTextStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        TextCharacterAppearance: (Handle<IfcTextStyleForDefinedFont> | IfcTextStyleForDefinedFont) | null;
        TextStyle: (Handle<IfcTextStyleTextModel> | IfcTextStyleTextModel) | null;
        TextFontStyle: IfcTextFontSelect;
        ModelOrDraughting: IfcBoolean | null;
        type: number;
        constructor(Name: IfcLabel | null, TextCharacterAppearance: (Handle<IfcTextStyleForDefinedFont> | IfcTextStyleForDefinedFont) | null, TextStyle: (Handle<IfcTextStyleTextModel> | IfcTextStyleTextModel) | null, TextFontStyle: IfcTextFontSelect, ModelOrDraughting: IfcBoolean | null);
    }
    class IfcTextStyleForDefinedFont extends IfcPresentationItem {
        Colour: IfcColour;
        BackgroundColour: IfcColour | null;
        type: number;
        constructor(Colour: IfcColour, BackgroundColour: IfcColour | null);
    }
    class IfcTextStyleTextModel extends IfcPresentationItem {
        TextIndent: IfcSizeSelect | null;
        TextAlign: IfcTextAlignment | null;
        TextDecoration: IfcTextDecoration | null;
        LetterSpacing: IfcSizeSelect | null;
        WordSpacing: IfcSizeSelect | null;
        TextTransform: IfcTextTransformation | null;
        LineHeight: IfcSizeSelect | null;
        type: number;
        constructor(TextIndent: IfcSizeSelect | null, TextAlign: IfcTextAlignment | null, TextDecoration: IfcTextDecoration | null, LetterSpacing: IfcSizeSelect | null, WordSpacing: IfcSizeSelect | null, TextTransform: IfcTextTransformation | null, LineHeight: IfcSizeSelect | null);
    }
    class IfcTextureCoordinate extends IfcPresentationItem {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[]);
    }
    class IfcTextureCoordinateGenerator extends IfcTextureCoordinate {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        Mode: IfcLabel;
        Parameter: IfcReal[] | null;
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], Mode: IfcLabel, Parameter: IfcReal[] | null);
    }
    class IfcTextureCoordinateIndices extends IfcLineObject {
        TexCoordIndex: IfcPositiveInteger[];
        TexCoordsOf: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace);
        type: number;
        ToTexMap: (Handle<IfcIndexedPolygonalTextureMap> | IfcIndexedPolygonalTextureMap) | null;
        constructor(TexCoordIndex: IfcPositiveInteger[], TexCoordsOf: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace));
    }
    class IfcTextureCoordinateIndicesWithVoids extends IfcTextureCoordinateIndices {
        TexCoordIndex: IfcPositiveInteger[];
        TexCoordsOf: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace);
        InnerTexCoordIndices: IfcPositiveInteger[][];
        type: number;
        constructor(TexCoordIndex: IfcPositiveInteger[], TexCoordsOf: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace), InnerTexCoordIndices: IfcPositiveInteger[][]);
    }
    class IfcTextureMap extends IfcTextureCoordinate {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        Vertices: (Handle<IfcTextureVertex> | IfcTextureVertex)[];
        MappedTo: (Handle<IfcFace> | IfcFace);
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], Vertices: (Handle<IfcTextureVertex> | IfcTextureVertex)[], MappedTo: (Handle<IfcFace> | IfcFace));
    }
    class IfcTextureVertex extends IfcPresentationItem {
        Coordinates: IfcParameterValue[];
        type: number;
        constructor(Coordinates: IfcParameterValue[]);
    }
    class IfcTextureVertexList extends IfcPresentationItem {
        TexCoordsList: IfcParameterValue[][];
        type: number;
        constructor(TexCoordsList: IfcParameterValue[][]);
    }
    class IfcTimePeriod extends IfcLineObject {
        StartTime: IfcTime;
        EndTime: IfcTime;
        type: number;
        constructor(StartTime: IfcTime, EndTime: IfcTime);
    }
    class IfcTimeSeries extends IfcLineObject {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTime;
        EndTime: IfcDateTime;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTime, EndTime: IfcDateTime, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null);
    }
    class IfcTimeSeriesValue extends IfcLineObject {
        ListValues: IfcValue[];
        type: number;
        constructor(ListValues: IfcValue[]);
    }
    class IfcTopologicalRepresentationItem extends IfcRepresentationItem {
        type: number;
        constructor();
    }
    class IfcTopologyRepresentation extends IfcShapeModel {
        ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext);
        RepresentationIdentifier: IfcLabel | null;
        RepresentationType: IfcLabel | null;
        Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[];
        type: number;
        constructor(ContextOfItems: (Handle<IfcRepresentationContext> | IfcRepresentationContext), RepresentationIdentifier: IfcLabel | null, RepresentationType: IfcLabel | null, Items: (Handle<IfcRepresentationItem> | IfcRepresentationItem)[]);
    }
    class IfcUnitAssignment extends IfcLineObject {
        Units: IfcUnit[];
        type: number;
        constructor(Units: IfcUnit[]);
    }
    class IfcVertex extends IfcTopologicalRepresentationItem {
        type: number;
        constructor();
    }
    class IfcVertexPoint extends IfcVertex {
        VertexGeometry: (Handle<IfcPoint> | IfcPoint);
        type: number;
        constructor(VertexGeometry: (Handle<IfcPoint> | IfcPoint));
    }
    class IfcVirtualGridIntersection extends IfcLineObject {
        IntersectingAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        OffsetDistances: IfcLengthMeasure[];
        type: number;
        constructor(IntersectingAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], OffsetDistances: IfcLengthMeasure[]);
    }
    class IfcWorkTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        RecurrencePattern: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern) | null;
        StartDate: IfcDate | null;
        FinishDate: IfcDate | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, RecurrencePattern: (Handle<IfcRecurrencePattern> | IfcRecurrencePattern) | null, StartDate: IfcDate | null, FinishDate: IfcDate | null);
    }
    class IfcAlignmentCantSegment extends IfcAlignmentParameterSegment {
        StartTag: IfcLabel | null;
        EndTag: IfcLabel | null;
        StartDistAlong: IfcLengthMeasure;
        HorizontalLength: IfcNonNegativeLengthMeasure;
        StartCantLeft: IfcLengthMeasure;
        EndCantLeft: IfcLengthMeasure | null;
        StartCantRight: IfcLengthMeasure;
        EndCantRight: IfcLengthMeasure | null;
        PredefinedType: IfcAlignmentCantSegmentTypeEnum;
        type: number;
        constructor(StartTag: IfcLabel | null, EndTag: IfcLabel | null, StartDistAlong: IfcLengthMeasure, HorizontalLength: IfcNonNegativeLengthMeasure, StartCantLeft: IfcLengthMeasure, EndCantLeft: IfcLengthMeasure | null, StartCantRight: IfcLengthMeasure, EndCantRight: IfcLengthMeasure | null, PredefinedType: IfcAlignmentCantSegmentTypeEnum);
    }
    class IfcAlignmentHorizontalSegment extends IfcAlignmentParameterSegment {
        StartTag: IfcLabel | null;
        EndTag: IfcLabel | null;
        StartPoint: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        StartDirection: IfcPlaneAngleMeasure;
        StartRadiusOfCurvature: IfcLengthMeasure;
        EndRadiusOfCurvature: IfcLengthMeasure;
        SegmentLength: IfcNonNegativeLengthMeasure;
        GravityCenterLineHeight: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcAlignmentHorizontalSegmentTypeEnum;
        type: number;
        constructor(StartTag: IfcLabel | null, EndTag: IfcLabel | null, StartPoint: (Handle<IfcCartesianPoint> | IfcCartesianPoint), StartDirection: IfcPlaneAngleMeasure, StartRadiusOfCurvature: IfcLengthMeasure, EndRadiusOfCurvature: IfcLengthMeasure, SegmentLength: IfcNonNegativeLengthMeasure, GravityCenterLineHeight: IfcPositiveLengthMeasure | null, PredefinedType: IfcAlignmentHorizontalSegmentTypeEnum);
    }
    class IfcApprovalRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        RelatedApprovals: (Handle<IfcApproval> | IfcApproval)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingApproval: (Handle<IfcApproval> | IfcApproval), RelatedApprovals: (Handle<IfcApproval> | IfcApproval)[]);
    }
    class IfcArbitraryClosedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        OuterCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, OuterCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcArbitraryOpenProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve));
    }
    class IfcArbitraryProfileDefWithVoids extends IfcArbitraryClosedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        OuterCurve: (Handle<IfcCurve> | IfcCurve);
        InnerCurves: (Handle<IfcCurve> | IfcCurve)[];
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, OuterCurve: (Handle<IfcCurve> | IfcCurve), InnerCurves: (Handle<IfcCurve> | IfcCurve)[]);
    }
    class IfcBlobTexture extends IfcSurfaceTexture {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        RasterFormat: IfcIdentifier;
        RasterCode: IfcBinary;
        type: number;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null, RasterFormat: IfcIdentifier, RasterCode: IfcBinary);
    }
    class IfcCenterLineProfileDef extends IfcArbitraryOpenProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        Thickness: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Curve: (Handle<IfcBoundedCurve> | IfcBoundedCurve), Thickness: IfcPositiveLengthMeasure);
    }
    class IfcClassification extends IfcExternalInformation {
        Source: IfcLabel | null;
        Edition: IfcLabel | null;
        EditionDate: IfcDate | null;
        Name: IfcLabel;
        Description: IfcText | null;
        Specification: IfcURIReference | null;
        ReferenceTokens: IfcIdentifier[] | null;
        type: number;
        ClassificationForObjects: (Handle<IfcRelAssociatesClassification> | IfcRelAssociatesClassification)[] | null;
        HasReferences: (Handle<IfcClassificationReference> | IfcClassificationReference)[] | null;
        constructor(Source: IfcLabel | null, Edition: IfcLabel | null, EditionDate: IfcDate | null, Name: IfcLabel, Description: IfcText | null, Specification: IfcURIReference | null, ReferenceTokens: IfcIdentifier[] | null);
    }
    class IfcClassificationReference extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        ReferencedSource: IfcClassificationReferenceSelect | null;
        Description: IfcText | null;
        Sort: IfcIdentifier | null;
        type: number;
        ClassificationRefForObjects: (Handle<IfcRelAssociatesClassification> | IfcRelAssociatesClassification)[] | null;
        HasReferences: (Handle<IfcClassificationReference> | IfcClassificationReference)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null, ReferencedSource: IfcClassificationReferenceSelect | null, Description: IfcText | null, Sort: IfcIdentifier | null);
    }
    class IfcColourRgbList extends IfcPresentationItem {
        ColourList: IfcNormalisedRatioMeasure[][];
        type: number;
        constructor(ColourList: IfcNormalisedRatioMeasure[][]);
    }
    class IfcColourSpecification extends IfcPresentationItem {
        Name: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null);
    }
    class IfcCompositeProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Profiles: (Handle<IfcProfileDef> | IfcProfileDef)[];
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Profiles: (Handle<IfcProfileDef> | IfcProfileDef)[], Label: IfcLabel | null);
    }
    class IfcConnectedFaceSet extends IfcTopologicalRepresentationItem {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcConnectionCurveGeometry extends IfcConnectionGeometry {
        CurveOnRelatingElement: IfcCurveOrEdgeCurve;
        CurveOnRelatedElement: IfcCurveOrEdgeCurve | null;
        type: number;
        constructor(CurveOnRelatingElement: IfcCurveOrEdgeCurve, CurveOnRelatedElement: IfcCurveOrEdgeCurve | null);
    }
    class IfcConnectionPointEccentricity extends IfcConnectionPointGeometry {
        PointOnRelatingElement: IfcPointOrVertexPoint;
        PointOnRelatedElement: IfcPointOrVertexPoint | null;
        EccentricityInX: IfcLengthMeasure | null;
        EccentricityInY: IfcLengthMeasure | null;
        EccentricityInZ: IfcLengthMeasure | null;
        type: number;
        constructor(PointOnRelatingElement: IfcPointOrVertexPoint, PointOnRelatedElement: IfcPointOrVertexPoint | null, EccentricityInX: IfcLengthMeasure | null, EccentricityInY: IfcLengthMeasure | null, EccentricityInZ: IfcLengthMeasure | null);
    }
    class IfcContextDependentUnit extends IfcNamedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel);
    }
    class IfcConversionBasedUnit extends IfcNamedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit);
        type: number;
        HasExternalReference: (Handle<IfcExternalReferenceRelationship> | IfcExternalReferenceRelationship)[] | null;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel, ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit));
    }
    class IfcConversionBasedUnitWithOffset extends IfcConversionBasedUnit {
        Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents);
        UnitType: IfcUnitEnum;
        Name: IfcLabel;
        ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit);
        ConversionOffset: IfcReal;
        type: number;
        constructor(Dimensions: (Handle<IfcDimensionalExponents> | IfcDimensionalExponents), UnitType: IfcUnitEnum, Name: IfcLabel, ConversionFactor: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit), ConversionOffset: IfcReal);
    }
    class IfcCurrencyRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit);
        RelatedMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit);
        ExchangeRate: IfcPositiveRatioMeasure;
        RateDateTime: IfcDateTime | null;
        RateSource: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit), RelatedMonetaryUnit: (Handle<IfcMonetaryUnit> | IfcMonetaryUnit), ExchangeRate: IfcPositiveRatioMeasure, RateDateTime: IfcDateTime | null, RateSource: (Handle<IfcLibraryInformation> | IfcLibraryInformation) | null);
    }
    class IfcCurveStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        CurveFont: IfcCurveFontOrScaledCurveFontSelect | null;
        CurveWidth: IfcSizeSelect | null;
        CurveColour: IfcColour | null;
        ModelOrDraughting: IfcBoolean | null;
        type: number;
        constructor(Name: IfcLabel | null, CurveFont: IfcCurveFontOrScaledCurveFontSelect | null, CurveWidth: IfcSizeSelect | null, CurveColour: IfcColour | null, ModelOrDraughting: IfcBoolean | null);
    }
    class IfcCurveStyleFont extends IfcPresentationItem {
        Name: IfcLabel | null;
        PatternList: (Handle<IfcCurveStyleFontPattern> | IfcCurveStyleFontPattern)[];
        type: number;
        constructor(Name: IfcLabel | null, PatternList: (Handle<IfcCurveStyleFontPattern> | IfcCurveStyleFontPattern)[]);
    }
    class IfcCurveStyleFontAndScaling extends IfcPresentationItem {
        Name: IfcLabel | null;
        CurveStyleFont: IfcCurveStyleFontSelect;
        CurveFontScaling: IfcPositiveRatioMeasure;
        type: number;
        constructor(Name: IfcLabel | null, CurveStyleFont: IfcCurveStyleFontSelect, CurveFontScaling: IfcPositiveRatioMeasure);
    }
    class IfcCurveStyleFontPattern extends IfcPresentationItem {
        VisibleSegmentLength: IfcLengthMeasure;
        InvisibleSegmentLength: IfcPositiveLengthMeasure;
        type: number;
        constructor(VisibleSegmentLength: IfcLengthMeasure, InvisibleSegmentLength: IfcPositiveLengthMeasure);
    }
    class IfcDerivedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        Operator: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D);
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef), Operator: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D), Label: IfcLabel | null);
    }
    class IfcDocumentInformation extends IfcExternalInformation {
        Identification: IfcIdentifier;
        Name: IfcLabel;
        Description: IfcText | null;
        Location: IfcURIReference | null;
        Purpose: IfcText | null;
        IntendedUse: IfcText | null;
        Scope: IfcText | null;
        Revision: IfcLabel | null;
        DocumentOwner: IfcActorSelect | null;
        Editors: IfcActorSelect[] | null;
        CreationTime: IfcDateTime | null;
        LastRevisionTime: IfcDateTime | null;
        ElectronicFormat: IfcIdentifier | null;
        ValidFrom: IfcDate | null;
        ValidUntil: IfcDate | null;
        Confidentiality: IfcDocumentConfidentialityEnum | null;
        Status: IfcDocumentStatusEnum | null;
        type: number;
        DocumentInfoForObjects: (Handle<IfcRelAssociatesDocument> | IfcRelAssociatesDocument)[] | null;
        HasDocumentReferences: (Handle<IfcDocumentReference> | IfcDocumentReference)[] | null;
        IsPointedTo: (Handle<IfcDocumentInformationRelationship> | IfcDocumentInformationRelationship)[] | null;
        IsPointer: (Handle<IfcDocumentInformationRelationship> | IfcDocumentInformationRelationship)[] | null;
        constructor(Identification: IfcIdentifier, Name: IfcLabel, Description: IfcText | null, Location: IfcURIReference | null, Purpose: IfcText | null, IntendedUse: IfcText | null, Scope: IfcText | null, Revision: IfcLabel | null, DocumentOwner: IfcActorSelect | null, Editors: IfcActorSelect[] | null, CreationTime: IfcDateTime | null, LastRevisionTime: IfcDateTime | null, ElectronicFormat: IfcIdentifier | null, ValidFrom: IfcDate | null, ValidUntil: IfcDate | null, Confidentiality: IfcDocumentConfidentialityEnum | null, Status: IfcDocumentStatusEnum | null);
    }
    class IfcDocumentInformationRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation);
        RelatedDocuments: (Handle<IfcDocumentInformation> | IfcDocumentInformation)[];
        RelationshipType: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation), RelatedDocuments: (Handle<IfcDocumentInformation> | IfcDocumentInformation)[], RelationshipType: IfcLabel | null);
    }
    class IfcDocumentReference extends IfcExternalReference {
        Location: IfcURIReference | null;
        Identification: IfcIdentifier | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ReferencedDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation) | null;
        type: number;
        DocumentRefForObjects: (Handle<IfcRelAssociatesDocument> | IfcRelAssociatesDocument)[] | null;
        constructor(Location: IfcURIReference | null, Identification: IfcIdentifier | null, Name: IfcLabel | null, Description: IfcText | null, ReferencedDocument: (Handle<IfcDocumentInformation> | IfcDocumentInformation) | null);
    }
    class IfcEdge extends IfcTopologicalRepresentationItem {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex));
    }
    class IfcEdgeCurve extends IfcEdge {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        EdgeGeometry: (Handle<IfcCurve> | IfcCurve);
        SameSense: IfcBoolean;
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex), EdgeGeometry: (Handle<IfcCurve> | IfcCurve), SameSense: IfcBoolean);
    }
    class IfcEventTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        ActualDate: IfcDateTime | null;
        EarlyDate: IfcDateTime | null;
        LateDate: IfcDateTime | null;
        ScheduleDate: IfcDateTime | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, ActualDate: IfcDateTime | null, EarlyDate: IfcDateTime | null, LateDate: IfcDateTime | null, ScheduleDate: IfcDateTime | null);
    }
    class IfcExtendedProperties extends IfcPropertyAbstraction {
        Name: IfcIdentifier | null;
        Description: IfcText | null;
        Properties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(Name: IfcIdentifier | null, Description: IfcText | null, Properties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcExternalReferenceRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingReference: (Handle<IfcExternalReference> | IfcExternalReference);
        RelatedResourceObjects: IfcResourceObjectSelect[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingReference: (Handle<IfcExternalReference> | IfcExternalReference), RelatedResourceObjects: IfcResourceObjectSelect[]);
    }
    class IfcFace extends IfcTopologicalRepresentationItem {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        type: number;
        HasTextureMaps: (Handle<IfcTextureMap> | IfcTextureMap)[] | null;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[]);
    }
    class IfcFaceBound extends IfcTopologicalRepresentationItem {
        Bound: (Handle<IfcLoop> | IfcLoop);
        Orientation: IfcBoolean;
        type: number;
        constructor(Bound: (Handle<IfcLoop> | IfcLoop), Orientation: IfcBoolean);
    }
    class IfcFaceOuterBound extends IfcFaceBound {
        Bound: (Handle<IfcLoop> | IfcLoop);
        Orientation: IfcBoolean;
        type: number;
        constructor(Bound: (Handle<IfcLoop> | IfcLoop), Orientation: IfcBoolean);
    }
    class IfcFaceSurface extends IfcFace {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        FaceSurface: (Handle<IfcSurface> | IfcSurface);
        SameSense: IfcBoolean;
        type: number;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[], FaceSurface: (Handle<IfcSurface> | IfcSurface), SameSense: IfcBoolean);
    }
    class IfcFailureConnectionCondition extends IfcStructuralConnectionCondition {
        Name: IfcLabel | null;
        TensionFailureX: IfcForceMeasure | null;
        TensionFailureY: IfcForceMeasure | null;
        TensionFailureZ: IfcForceMeasure | null;
        CompressionFailureX: IfcForceMeasure | null;
        CompressionFailureY: IfcForceMeasure | null;
        CompressionFailureZ: IfcForceMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, TensionFailureX: IfcForceMeasure | null, TensionFailureY: IfcForceMeasure | null, TensionFailureZ: IfcForceMeasure | null, CompressionFailureX: IfcForceMeasure | null, CompressionFailureY: IfcForceMeasure | null, CompressionFailureZ: IfcForceMeasure | null);
    }
    class IfcFillAreaStyle extends IfcPresentationStyle {
        Name: IfcLabel | null;
        FillStyles: IfcFillStyleSelect[];
        ModelOrDraughting: IfcBoolean | null;
        type: number;
        constructor(Name: IfcLabel | null, FillStyles: IfcFillStyleSelect[], ModelOrDraughting: IfcBoolean | null);
    }
    class IfcGeometricRepresentationContext extends IfcRepresentationContext {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        CoordinateSpaceDimension: IfcDimensionCount;
        Precision: IfcReal | null;
        WorldCoordinateSystem: IfcAxis2Placement;
        TrueNorth: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        HasSubContexts: (Handle<IfcGeometricRepresentationSubContext> | IfcGeometricRepresentationSubContext)[] | null;
        HasCoordinateOperation: (Handle<IfcCoordinateOperation> | IfcCoordinateOperation)[] | null;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null, CoordinateSpaceDimension: IfcDimensionCount, Precision: IfcReal | null, WorldCoordinateSystem: IfcAxis2Placement, TrueNorth: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcGeometricRepresentationItem extends IfcRepresentationItem {
        type: number;
        constructor();
    }
    class IfcGeometricRepresentationSubContext extends IfcGeometricRepresentationContext {
        ContextIdentifier: IfcLabel | null;
        ContextType: IfcLabel | null;
        ParentContext: (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext);
        TargetScale: IfcPositiveRatioMeasure | null;
        TargetView: IfcGeometricProjectionEnum;
        UserDefinedTargetView: IfcLabel | null;
        type: number;
        constructor(ContextIdentifier: IfcLabel | null, ContextType: IfcLabel | null, ParentContext: (Handle<IfcGeometricRepresentationContext> | IfcGeometricRepresentationContext), TargetScale: IfcPositiveRatioMeasure | null, TargetView: IfcGeometricProjectionEnum, UserDefinedTargetView: IfcLabel | null);
    }
    class IfcGeometricSet extends IfcGeometricRepresentationItem {
        Elements: IfcGeometricSetSelect[];
        type: number;
        constructor(Elements: IfcGeometricSetSelect[]);
    }
    class IfcGridPlacement extends IfcObjectPlacement {
        PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        PlacementLocation: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection);
        PlacementRefDirection: IfcGridPlacementDirectionSelect | null;
        type: number;
        constructor(PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, PlacementLocation: (Handle<IfcVirtualGridIntersection> | IfcVirtualGridIntersection), PlacementRefDirection: IfcGridPlacementDirectionSelect | null);
    }
    class IfcHalfSpaceSolid extends IfcGeometricRepresentationItem {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: IfcBoolean;
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: IfcBoolean);
    }
    class IfcImageTexture extends IfcSurfaceTexture {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        URLReference: IfcURIReference;
        type: number;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null, URLReference: IfcURIReference);
    }
    class IfcIndexedColourMap extends IfcPresentationItem {
        MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
        Opacity: IfcNormalisedRatioMeasure | null;
        Colours: (Handle<IfcColourRgbList> | IfcColourRgbList);
        ColourIndex: IfcPositiveInteger[];
        type: number;
        constructor(MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet), Opacity: IfcNormalisedRatioMeasure | null, Colours: (Handle<IfcColourRgbList> | IfcColourRgbList), ColourIndex: IfcPositiveInteger[]);
    }
    class IfcIndexedTextureMap extends IfcTextureCoordinate {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
        TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList);
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet), TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList));
    }
    class IfcIndexedTriangleTextureMap extends IfcIndexedTextureMap {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
        TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList);
        TexCoordIndex: IfcPositiveInteger[][] | null;
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet), TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList), TexCoordIndex: IfcPositiveInteger[][] | null);
    }
    class IfcIrregularTimeSeries extends IfcTimeSeries {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTime;
        EndTime: IfcDateTime;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        Values: (Handle<IfcIrregularTimeSeriesValue> | IfcIrregularTimeSeriesValue)[];
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTime, EndTime: IfcDateTime, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null, Values: (Handle<IfcIrregularTimeSeriesValue> | IfcIrregularTimeSeriesValue)[]);
    }
    class IfcLagTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        LagValue: IfcTimeOrRatioSelect;
        DurationType: IfcTaskDurationEnum;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, LagValue: IfcTimeOrRatioSelect, DurationType: IfcTaskDurationEnum);
    }
    class IfcLightSource extends IfcGeometricRepresentationItem {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null);
    }
    class IfcLightSourceAmbient extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null);
    }
    class IfcLightSourceDirectional extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Orientation: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Orientation: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcLightSourceGoniometric extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        ColourAppearance: (Handle<IfcColourRgb> | IfcColourRgb) | null;
        ColourTemperature: IfcThermodynamicTemperatureMeasure;
        LuminousFlux: IfcLuminousFluxMeasure;
        LightEmissionSource: IfcLightEmissionSourceEnum;
        LightDistributionDataSource: IfcLightDistributionDataSourceSelect;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), ColourAppearance: (Handle<IfcColourRgb> | IfcColourRgb) | null, ColourTemperature: IfcThermodynamicTemperatureMeasure, LuminousFlux: IfcLuminousFluxMeasure, LightEmissionSource: IfcLightEmissionSourceEnum, LightDistributionDataSource: IfcLightDistributionDataSourceSelect);
    }
    class IfcLightSourcePositional extends IfcLightSource {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Radius: IfcPositiveLengthMeasure;
        ConstantAttenuation: IfcReal;
        DistanceAttenuation: IfcReal;
        QuadricAttenuation: IfcReal;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Radius: IfcPositiveLengthMeasure, ConstantAttenuation: IfcReal, DistanceAttenuation: IfcReal, QuadricAttenuation: IfcReal);
    }
    class IfcLightSourceSpot extends IfcLightSourcePositional {
        Name: IfcLabel | null;
        LightColour: (Handle<IfcColourRgb> | IfcColourRgb);
        AmbientIntensity: IfcNormalisedRatioMeasure | null;
        Intensity: IfcNormalisedRatioMeasure | null;
        Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Radius: IfcPositiveLengthMeasure;
        ConstantAttenuation: IfcReal;
        DistanceAttenuation: IfcReal;
        QuadricAttenuation: IfcReal;
        Orientation: (Handle<IfcDirection> | IfcDirection);
        ConcentrationExponent: IfcReal | null;
        SpreadAngle: IfcPositivePlaneAngleMeasure;
        BeamWidthAngle: IfcPositivePlaneAngleMeasure;
        type: number;
        constructor(Name: IfcLabel | null, LightColour: (Handle<IfcColourRgb> | IfcColourRgb), AmbientIntensity: IfcNormalisedRatioMeasure | null, Intensity: IfcNormalisedRatioMeasure | null, Position: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Radius: IfcPositiveLengthMeasure, ConstantAttenuation: IfcReal, DistanceAttenuation: IfcReal, QuadricAttenuation: IfcReal, Orientation: (Handle<IfcDirection> | IfcDirection), ConcentrationExponent: IfcReal | null, SpreadAngle: IfcPositivePlaneAngleMeasure, BeamWidthAngle: IfcPositivePlaneAngleMeasure);
    }
    class IfcLinearPlacement extends IfcObjectPlacement {
        PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        RelativePlacement: (Handle<IfcAxis2PlacementLinear> | IfcAxis2PlacementLinear);
        CartesianPosition: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, RelativePlacement: (Handle<IfcAxis2PlacementLinear> | IfcAxis2PlacementLinear), CartesianPosition: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcLocalPlacement extends IfcObjectPlacement {
        PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        RelativePlacement: IfcAxis2Placement;
        type: number;
        constructor(PlacementRelTo: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, RelativePlacement: IfcAxis2Placement);
    }
    class IfcLoop extends IfcTopologicalRepresentationItem {
        type: number;
        constructor();
    }
    class IfcMappedItem extends IfcRepresentationItem {
        MappingSource: (Handle<IfcRepresentationMap> | IfcRepresentationMap);
        MappingTarget: (Handle<IfcCartesianTransformationOperator> | IfcCartesianTransformationOperator);
        type: number;
        constructor(MappingSource: (Handle<IfcRepresentationMap> | IfcRepresentationMap), MappingTarget: (Handle<IfcCartesianTransformationOperator> | IfcCartesianTransformationOperator));
    }
    class IfcMaterial extends IfcMaterialDefinition {
        Name: IfcLabel;
        Description: IfcText | null;
        Category: IfcLabel | null;
        type: number;
        HasRepresentation: (Handle<IfcMaterialDefinitionRepresentation> | IfcMaterialDefinitionRepresentation)[] | null;
        IsRelatedWith: (Handle<IfcMaterialRelationship> | IfcMaterialRelationship)[] | null;
        RelatesTo: (Handle<IfcMaterialRelationship> | IfcMaterialRelationship)[] | null;
        constructor(Name: IfcLabel, Description: IfcText | null, Category: IfcLabel | null);
    }
    class IfcMaterialConstituent extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Material: (Handle<IfcMaterial> | IfcMaterial);
        Fraction: IfcNormalisedRatioMeasure | null;
        Category: IfcLabel | null;
        type: number;
        ToMaterialConstituentSet: (Handle<IfcMaterialConstituentSet> | IfcMaterialConstituentSet) | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Material: (Handle<IfcMaterial> | IfcMaterial), Fraction: IfcNormalisedRatioMeasure | null, Category: IfcLabel | null);
    }
    class IfcMaterialConstituentSet extends IfcMaterialDefinition {
        Name: IfcLabel | null;
        Description: IfcText | null;
        MaterialConstituents: (Handle<IfcMaterialConstituent> | IfcMaterialConstituent)[] | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, MaterialConstituents: (Handle<IfcMaterialConstituent> | IfcMaterialConstituent)[] | null);
    }
    class IfcMaterialDefinitionRepresentation extends IfcProductRepresentation {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        RepresentedMaterial: (Handle<IfcMaterial> | IfcMaterial);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[], RepresentedMaterial: (Handle<IfcMaterial> | IfcMaterial));
    }
    class IfcMaterialLayerSetUsage extends IfcMaterialUsageDefinition {
        ForLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet);
        LayerSetDirection: IfcLayerSetDirectionEnum;
        DirectionSense: IfcDirectionSenseEnum;
        OffsetFromReferenceLine: IfcLengthMeasure;
        ReferenceExtent: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ForLayerSet: (Handle<IfcMaterialLayerSet> | IfcMaterialLayerSet), LayerSetDirection: IfcLayerSetDirectionEnum, DirectionSense: IfcDirectionSenseEnum, OffsetFromReferenceLine: IfcLengthMeasure, ReferenceExtent: IfcPositiveLengthMeasure | null);
    }
    class IfcMaterialProfileSetUsage extends IfcMaterialUsageDefinition {
        ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet);
        CardinalPoint: IfcCardinalPointReference | null;
        ReferenceExtent: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet), CardinalPoint: IfcCardinalPointReference | null, ReferenceExtent: IfcPositiveLengthMeasure | null);
    }
    class IfcMaterialProfileSetUsageTapering extends IfcMaterialProfileSetUsage {
        ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet);
        CardinalPoint: IfcCardinalPointReference | null;
        ReferenceExtent: IfcPositiveLengthMeasure | null;
        ForProfileEndSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet);
        CardinalEndPoint: IfcCardinalPointReference | null;
        type: number;
        constructor(ForProfileSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet), CardinalPoint: IfcCardinalPointReference | null, ReferenceExtent: IfcPositiveLengthMeasure | null, ForProfileEndSet: (Handle<IfcMaterialProfileSet> | IfcMaterialProfileSet), CardinalEndPoint: IfcCardinalPointReference | null);
    }
    class IfcMaterialProperties extends IfcExtendedProperties {
        Name: IfcIdentifier | null;
        Description: IfcText | null;
        Properties: (Handle<IfcProperty> | IfcProperty)[];
        Material: (Handle<IfcMaterialDefinition> | IfcMaterialDefinition);
        type: number;
        constructor(Name: IfcIdentifier | null, Description: IfcText | null, Properties: (Handle<IfcProperty> | IfcProperty)[], Material: (Handle<IfcMaterialDefinition> | IfcMaterialDefinition));
    }
    class IfcMaterialRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingMaterial: (Handle<IfcMaterial> | IfcMaterial);
        RelatedMaterials: (Handle<IfcMaterial> | IfcMaterial)[];
        MaterialExpression: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingMaterial: (Handle<IfcMaterial> | IfcMaterial), RelatedMaterials: (Handle<IfcMaterial> | IfcMaterial)[], MaterialExpression: IfcLabel | null);
    }
    class IfcMirroredProfileDef extends IfcDerivedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        Label: IfcLabel | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, ParentProfile: (Handle<IfcProfileDef> | IfcProfileDef), Label: IfcLabel | null);
    }
    class IfcObjectDefinition extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasAssignments: (Handle<IfcRelAssigns> | IfcRelAssigns)[] | null;
        Nests: (Handle<IfcRelNests> | IfcRelNests)[] | null;
        IsNestedBy: (Handle<IfcRelNests> | IfcRelNests)[] | null;
        HasContext: (Handle<IfcRelDeclares> | IfcRelDeclares)[] | null;
        IsDecomposedBy: (Handle<IfcRelAggregates> | IfcRelAggregates)[] | null;
        Decomposes: (Handle<IfcRelAggregates> | IfcRelAggregates)[] | null;
        HasAssociations: (Handle<IfcRelAssociates> | IfcRelAssociates)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcOpenCrossProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        HorizontalWidths: IfcBoolean;
        Widths: IfcNonNegativeLengthMeasure[];
        Slopes: IfcPlaneAngleMeasure[];
        Tags: IfcLabel[] | null;
        OffsetPoint: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, HorizontalWidths: IfcBoolean, Widths: IfcNonNegativeLengthMeasure[], Slopes: IfcPlaneAngleMeasure[], Tags: IfcLabel[] | null, OffsetPoint: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null);
    }
    class IfcOpenShell extends IfcConnectedFaceSet {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcOrganizationRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingOrganization: (Handle<IfcOrganization> | IfcOrganization);
        RelatedOrganizations: (Handle<IfcOrganization> | IfcOrganization)[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingOrganization: (Handle<IfcOrganization> | IfcOrganization), RelatedOrganizations: (Handle<IfcOrganization> | IfcOrganization)[]);
    }
    class IfcOrientedEdge extends IfcEdge {
        EdgeElement: (Handle<IfcEdge> | IfcEdge);
        Orientation: IfcBoolean;
        type: number;
        constructor(EdgeElement: (Handle<IfcEdge> | IfcEdge), Orientation: IfcBoolean);
    }
    class IfcParameterizedProfileDef extends IfcProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null);
    }
    class IfcPath extends IfcTopologicalRepresentationItem {
        EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[];
        type: number;
        constructor(EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[]);
    }
    class IfcPhysicalComplexQuantity extends IfcPhysicalQuantity {
        Name: IfcLabel;
        Description: IfcText | null;
        HasQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[];
        Discrimination: IfcLabel;
        Quality: IfcLabel | null;
        Usage: IfcLabel | null;
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, HasQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[], Discrimination: IfcLabel, Quality: IfcLabel | null, Usage: IfcLabel | null);
    }
    class IfcPixelTexture extends IfcSurfaceTexture {
        RepeatS: IfcBoolean;
        RepeatT: IfcBoolean;
        Mode: IfcIdentifier | null;
        TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null;
        Parameter: IfcIdentifier[] | null;
        Width: IfcInteger;
        Height: IfcInteger;
        ColourComponents: IfcInteger;
        Pixel: IfcBinary[];
        type: number;
        constructor(RepeatS: IfcBoolean, RepeatT: IfcBoolean, Mode: IfcIdentifier | null, TextureTransform: (Handle<IfcCartesianTransformationOperator2D> | IfcCartesianTransformationOperator2D) | null, Parameter: IfcIdentifier[] | null, Width: IfcInteger, Height: IfcInteger, ColourComponents: IfcInteger, Pixel: IfcBinary[]);
    }
    class IfcPlacement extends IfcGeometricRepresentationItem {
        Location: (Handle<IfcPoint> | IfcPoint);
        type: number;
        constructor(Location: (Handle<IfcPoint> | IfcPoint));
    }
    class IfcPlanarExtent extends IfcGeometricRepresentationItem {
        SizeInX: IfcLengthMeasure;
        SizeInY: IfcLengthMeasure;
        type: number;
        constructor(SizeInX: IfcLengthMeasure, SizeInY: IfcLengthMeasure);
    }
    class IfcPoint extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcPointByDistanceExpression extends IfcPoint {
        DistanceAlong: IfcCurveMeasureSelect;
        OffsetLateral: IfcLengthMeasure | null;
        OffsetVertical: IfcLengthMeasure | null;
        OffsetLongitudinal: IfcLengthMeasure | null;
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(DistanceAlong: IfcCurveMeasureSelect, OffsetLateral: IfcLengthMeasure | null, OffsetVertical: IfcLengthMeasure | null, OffsetLongitudinal: IfcLengthMeasure | null, BasisCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcPointOnCurve extends IfcPoint {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        PointParameter: IfcParameterValue;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), PointParameter: IfcParameterValue);
    }
    class IfcPointOnSurface extends IfcPoint {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        PointParameterU: IfcParameterValue;
        PointParameterV: IfcParameterValue;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), PointParameterU: IfcParameterValue, PointParameterV: IfcParameterValue);
    }
    class IfcPolyLoop extends IfcLoop {
        Polygon: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        type: number;
        constructor(Polygon: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[]);
    }
    class IfcPolygonalBoundedHalfSpace extends IfcHalfSpaceSolid {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: IfcBoolean;
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        PolygonalBoundary: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: IfcBoolean, Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), PolygonalBoundary: (Handle<IfcBoundedCurve> | IfcBoundedCurve));
    }
    class IfcPreDefinedItem extends IfcPresentationItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedProperties extends IfcPropertyAbstraction {
        type: number;
        constructor();
    }
    class IfcPreDefinedTextFont extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcProductDefinitionShape extends IfcProductRepresentation {
        Name: IfcLabel | null;
        Description: IfcText | null;
        Representations: (Handle<IfcRepresentation> | IfcRepresentation)[];
        type: number;
        ShapeOfProduct: (Handle<IfcProduct> | IfcProduct)[] | null;
        HasShapeAspects: (Handle<IfcShapeAspect> | IfcShapeAspect)[] | null;
        constructor(Name: IfcLabel | null, Description: IfcText | null, Representations: (Handle<IfcRepresentation> | IfcRepresentation)[]);
    }
    class IfcProfileProperties extends IfcExtendedProperties {
        Name: IfcIdentifier | null;
        Description: IfcText | null;
        Properties: (Handle<IfcProperty> | IfcProperty)[];
        ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(Name: IfcIdentifier | null, Description: IfcText | null, Properties: (Handle<IfcProperty> | IfcProperty)[], ProfileDefinition: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcProperty extends IfcPropertyAbstraction {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        type: number;
        PartOfPset: (Handle<IfcPropertySet> | IfcPropertySet)[] | null;
        PropertyForDependance: (Handle<IfcPropertyDependencyRelationship> | IfcPropertyDependencyRelationship)[] | null;
        PropertyDependsOn: (Handle<IfcPropertyDependencyRelationship> | IfcPropertyDependencyRelationship)[] | null;
        PartOfComplex: (Handle<IfcComplexProperty> | IfcComplexProperty)[] | null;
        HasConstraints: (Handle<IfcResourceConstraintRelationship> | IfcResourceConstraintRelationship)[] | null;
        HasApprovals: (Handle<IfcResourceApprovalRelationship> | IfcResourceApprovalRelationship)[] | null;
        constructor(Name: IfcIdentifier, Specification: IfcText | null);
    }
    class IfcPropertyDefinition extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        HasContext: (Handle<IfcRelDeclares> | IfcRelDeclares)[] | null;
        HasAssociations: (Handle<IfcRelAssociates> | IfcRelAssociates)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcPropertyDependencyRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        DependingProperty: (Handle<IfcProperty> | IfcProperty);
        DependantProperty: (Handle<IfcProperty> | IfcProperty);
        Expression: IfcText | null;
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, DependingProperty: (Handle<IfcProperty> | IfcProperty), DependantProperty: (Handle<IfcProperty> | IfcProperty), Expression: IfcText | null);
    }
    class IfcPropertySetDefinition extends IfcPropertyDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        DefinesType: (Handle<IfcTypeObject> | IfcTypeObject)[] | null;
        IsDefinedBy: (Handle<IfcRelDefinesByTemplate> | IfcRelDefinesByTemplate)[] | null;
        DefinesOccurrence: (Handle<IfcRelDefinesByProperties> | IfcRelDefinesByProperties)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcPropertyTemplateDefinition extends IfcPropertyDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcQuantitySet extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRectangleProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure);
    }
    class IfcRegularTimeSeries extends IfcTimeSeries {
        Name: IfcLabel;
        Description: IfcText | null;
        StartTime: IfcDateTime;
        EndTime: IfcDateTime;
        TimeSeriesDataType: IfcTimeSeriesDataTypeEnum;
        DataOrigin: IfcDataOriginEnum;
        UserDefinedDataOrigin: IfcLabel | null;
        Unit: IfcUnit | null;
        TimeStep: IfcTimeMeasure;
        Values: (Handle<IfcTimeSeriesValue> | IfcTimeSeriesValue)[];
        type: number;
        constructor(Name: IfcLabel, Description: IfcText | null, StartTime: IfcDateTime, EndTime: IfcDateTime, TimeSeriesDataType: IfcTimeSeriesDataTypeEnum, DataOrigin: IfcDataOriginEnum, UserDefinedDataOrigin: IfcLabel | null, Unit: IfcUnit | null, TimeStep: IfcTimeMeasure, Values: (Handle<IfcTimeSeriesValue> | IfcTimeSeriesValue)[]);
    }
    class IfcReinforcementBarProperties extends IfcPreDefinedProperties {
        TotalCrossSectionArea: IfcAreaMeasure;
        SteelGrade: IfcLabel;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        EffectiveDepth: IfcLengthMeasure | null;
        NominalBarDiameter: IfcPositiveLengthMeasure | null;
        BarCount: IfcCountMeasure | null;
        type: number;
        constructor(TotalCrossSectionArea: IfcAreaMeasure, SteelGrade: IfcLabel, BarSurface: IfcReinforcingBarSurfaceEnum | null, EffectiveDepth: IfcLengthMeasure | null, NominalBarDiameter: IfcPositiveLengthMeasure | null, BarCount: IfcCountMeasure | null);
    }
    class IfcRelationship extends IfcRoot {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcResourceApprovalRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedResourceObjects: IfcResourceObjectSelect[];
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatedResourceObjects: IfcResourceObjectSelect[], RelatingApproval: (Handle<IfcApproval> | IfcApproval));
    }
    class IfcResourceConstraintRelationship extends IfcResourceLevelRelationship {
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        RelatedResourceObjects: IfcResourceObjectSelect[];
        type: number;
        constructor(Name: IfcLabel | null, Description: IfcText | null, RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint), RelatedResourceObjects: IfcResourceObjectSelect[]);
    }
    class IfcResourceTime extends IfcSchedulingTime {
        Name: IfcLabel | null;
        DataOrigin: IfcDataOriginEnum | null;
        UserDefinedDataOrigin: IfcLabel | null;
        ScheduleWork: IfcDuration | null;
        ScheduleUsage: IfcPositiveRatioMeasure | null;
        ScheduleStart: IfcDateTime | null;
        ScheduleFinish: IfcDateTime | null;
        ScheduleContour: IfcLabel | null;
        LevelingDelay: IfcDuration | null;
        IsOverAllocated: IfcBoolean | null;
        StatusTime: IfcDateTime | null;
        ActualWork: IfcDuration | null;
        ActualUsage: IfcPositiveRatioMeasure | null;
        ActualStart: IfcDateTime | null;
        ActualFinish: IfcDateTime | null;
        RemainingWork: IfcDuration | null;
        RemainingUsage: IfcPositiveRatioMeasure | null;
        Completion: IfcPositiveRatioMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DataOrigin: IfcDataOriginEnum | null, UserDefinedDataOrigin: IfcLabel | null, ScheduleWork: IfcDuration | null, ScheduleUsage: IfcPositiveRatioMeasure | null, ScheduleStart: IfcDateTime | null, ScheduleFinish: IfcDateTime | null, ScheduleContour: IfcLabel | null, LevelingDelay: IfcDuration | null, IsOverAllocated: IfcBoolean | null, StatusTime: IfcDateTime | null, ActualWork: IfcDuration | null, ActualUsage: IfcPositiveRatioMeasure | null, ActualStart: IfcDateTime | null, ActualFinish: IfcDateTime | null, RemainingWork: IfcDuration | null, RemainingUsage: IfcPositiveRatioMeasure | null, Completion: IfcPositiveRatioMeasure | null);
    }
    class IfcRoundedRectangleProfileDef extends IfcRectangleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        RoundingRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, RoundingRadius: IfcPositiveLengthMeasure);
    }
    class IfcSectionProperties extends IfcPreDefinedProperties {
        SectionType: IfcSectionTypeEnum;
        StartProfile: (Handle<IfcProfileDef> | IfcProfileDef);
        EndProfile: (Handle<IfcProfileDef> | IfcProfileDef) | null;
        type: number;
        constructor(SectionType: IfcSectionTypeEnum, StartProfile: (Handle<IfcProfileDef> | IfcProfileDef), EndProfile: (Handle<IfcProfileDef> | IfcProfileDef) | null);
    }
    class IfcSectionReinforcementProperties extends IfcPreDefinedProperties {
        LongitudinalStartPosition: IfcLengthMeasure;
        LongitudinalEndPosition: IfcLengthMeasure;
        TransversePosition: IfcLengthMeasure | null;
        ReinforcementRole: IfcReinforcingBarRoleEnum;
        SectionDefinition: (Handle<IfcSectionProperties> | IfcSectionProperties);
        CrossSectionReinforcementDefinitions: (Handle<IfcReinforcementBarProperties> | IfcReinforcementBarProperties)[];
        type: number;
        constructor(LongitudinalStartPosition: IfcLengthMeasure, LongitudinalEndPosition: IfcLengthMeasure, TransversePosition: IfcLengthMeasure | null, ReinforcementRole: IfcReinforcingBarRoleEnum, SectionDefinition: (Handle<IfcSectionProperties> | IfcSectionProperties), CrossSectionReinforcementDefinitions: (Handle<IfcReinforcementBarProperties> | IfcReinforcementBarProperties)[]);
    }
    class IfcSectionedSpine extends IfcGeometricRepresentationItem {
        SpineCurve: (Handle<IfcCompositeCurve> | IfcCompositeCurve);
        CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[];
        CrossSectionPositions: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D)[];
        type: number;
        constructor(SpineCurve: (Handle<IfcCompositeCurve> | IfcCompositeCurve), CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[], CrossSectionPositions: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D)[]);
    }
    class IfcSegment extends IfcGeometricRepresentationItem {
        Transition: IfcTransitionCode;
        type: number;
        UsingCurves: (Handle<IfcCompositeCurve> | IfcCompositeCurve)[] | null;
        constructor(Transition: IfcTransitionCode);
    }
    class IfcShellBasedSurfaceModel extends IfcGeometricRepresentationItem {
        SbsmBoundary: IfcShell[];
        type: number;
        constructor(SbsmBoundary: IfcShell[]);
    }
    class IfcSimpleProperty extends IfcProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null);
    }
    class IfcSlippageConnectionCondition extends IfcStructuralConnectionCondition {
        Name: IfcLabel | null;
        SlippageX: IfcLengthMeasure | null;
        SlippageY: IfcLengthMeasure | null;
        SlippageZ: IfcLengthMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, SlippageX: IfcLengthMeasure | null, SlippageY: IfcLengthMeasure | null, SlippageZ: IfcLengthMeasure | null);
    }
    class IfcSolidModel extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcStructuralLoadLinearForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        LinearForceX: IfcLinearForceMeasure | null;
        LinearForceY: IfcLinearForceMeasure | null;
        LinearForceZ: IfcLinearForceMeasure | null;
        LinearMomentX: IfcLinearMomentMeasure | null;
        LinearMomentY: IfcLinearMomentMeasure | null;
        LinearMomentZ: IfcLinearMomentMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, LinearForceX: IfcLinearForceMeasure | null, LinearForceY: IfcLinearForceMeasure | null, LinearForceZ: IfcLinearForceMeasure | null, LinearMomentX: IfcLinearMomentMeasure | null, LinearMomentY: IfcLinearMomentMeasure | null, LinearMomentZ: IfcLinearMomentMeasure | null);
    }
    class IfcStructuralLoadPlanarForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        PlanarForceX: IfcPlanarForceMeasure | null;
        PlanarForceY: IfcPlanarForceMeasure | null;
        PlanarForceZ: IfcPlanarForceMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, PlanarForceX: IfcPlanarForceMeasure | null, PlanarForceY: IfcPlanarForceMeasure | null, PlanarForceZ: IfcPlanarForceMeasure | null);
    }
    class IfcStructuralLoadSingleDisplacement extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        DisplacementX: IfcLengthMeasure | null;
        DisplacementY: IfcLengthMeasure | null;
        DisplacementZ: IfcLengthMeasure | null;
        RotationalDisplacementRX: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRY: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRZ: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DisplacementX: IfcLengthMeasure | null, DisplacementY: IfcLengthMeasure | null, DisplacementZ: IfcLengthMeasure | null, RotationalDisplacementRX: IfcPlaneAngleMeasure | null, RotationalDisplacementRY: IfcPlaneAngleMeasure | null, RotationalDisplacementRZ: IfcPlaneAngleMeasure | null);
    }
    class IfcStructuralLoadSingleDisplacementDistortion extends IfcStructuralLoadSingleDisplacement {
        Name: IfcLabel | null;
        DisplacementX: IfcLengthMeasure | null;
        DisplacementY: IfcLengthMeasure | null;
        DisplacementZ: IfcLengthMeasure | null;
        RotationalDisplacementRX: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRY: IfcPlaneAngleMeasure | null;
        RotationalDisplacementRZ: IfcPlaneAngleMeasure | null;
        Distortion: IfcCurvatureMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, DisplacementX: IfcLengthMeasure | null, DisplacementY: IfcLengthMeasure | null, DisplacementZ: IfcLengthMeasure | null, RotationalDisplacementRX: IfcPlaneAngleMeasure | null, RotationalDisplacementRY: IfcPlaneAngleMeasure | null, RotationalDisplacementRZ: IfcPlaneAngleMeasure | null, Distortion: IfcCurvatureMeasure | null);
    }
    class IfcStructuralLoadSingleForce extends IfcStructuralLoadStatic {
        Name: IfcLabel | null;
        ForceX: IfcForceMeasure | null;
        ForceY: IfcForceMeasure | null;
        ForceZ: IfcForceMeasure | null;
        MomentX: IfcTorqueMeasure | null;
        MomentY: IfcTorqueMeasure | null;
        MomentZ: IfcTorqueMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, ForceX: IfcForceMeasure | null, ForceY: IfcForceMeasure | null, ForceZ: IfcForceMeasure | null, MomentX: IfcTorqueMeasure | null, MomentY: IfcTorqueMeasure | null, MomentZ: IfcTorqueMeasure | null);
    }
    class IfcStructuralLoadSingleForceWarping extends IfcStructuralLoadSingleForce {
        Name: IfcLabel | null;
        ForceX: IfcForceMeasure | null;
        ForceY: IfcForceMeasure | null;
        ForceZ: IfcForceMeasure | null;
        MomentX: IfcTorqueMeasure | null;
        MomentY: IfcTorqueMeasure | null;
        MomentZ: IfcTorqueMeasure | null;
        WarpingMoment: IfcWarpingMomentMeasure | null;
        type: number;
        constructor(Name: IfcLabel | null, ForceX: IfcForceMeasure | null, ForceY: IfcForceMeasure | null, ForceZ: IfcForceMeasure | null, MomentX: IfcTorqueMeasure | null, MomentY: IfcTorqueMeasure | null, MomentZ: IfcTorqueMeasure | null, WarpingMoment: IfcWarpingMomentMeasure | null);
    }
    class IfcSubedge extends IfcEdge {
        EdgeStart: (Handle<IfcVertex> | IfcVertex);
        EdgeEnd: (Handle<IfcVertex> | IfcVertex);
        ParentEdge: (Handle<IfcEdge> | IfcEdge);
        type: number;
        constructor(EdgeStart: (Handle<IfcVertex> | IfcVertex), EdgeEnd: (Handle<IfcVertex> | IfcVertex), ParentEdge: (Handle<IfcEdge> | IfcEdge));
    }
    class IfcSurface extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcSurfaceStyleRendering extends IfcSurfaceStyleShading {
        SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb);
        Transparency: IfcNormalisedRatioMeasure | null;
        DiffuseColour: IfcColourOrFactor | null;
        TransmissionColour: IfcColourOrFactor | null;
        DiffuseTransmissionColour: IfcColourOrFactor | null;
        ReflectionColour: IfcColourOrFactor | null;
        SpecularColour: IfcColourOrFactor | null;
        SpecularHighlight: IfcSpecularHighlightSelect | null;
        ReflectanceMethod: IfcReflectanceMethodEnum;
        type: number;
        constructor(SurfaceColour: (Handle<IfcColourRgb> | IfcColourRgb), Transparency: IfcNormalisedRatioMeasure | null, DiffuseColour: IfcColourOrFactor | null, TransmissionColour: IfcColourOrFactor | null, DiffuseTransmissionColour: IfcColourOrFactor | null, ReflectionColour: IfcColourOrFactor | null, SpecularColour: IfcColourOrFactor | null, SpecularHighlight: IfcSpecularHighlightSelect | null, ReflectanceMethod: IfcReflectanceMethodEnum);
    }
    class IfcSweptAreaSolid extends IfcSolidModel {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcSweptDiskSolid extends IfcSolidModel {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        Radius: IfcPositiveLengthMeasure;
        InnerRadius: IfcPositiveLengthMeasure | null;
        StartParam: IfcParameterValue | null;
        EndParam: IfcParameterValue | null;
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), Radius: IfcPositiveLengthMeasure, InnerRadius: IfcPositiveLengthMeasure | null, StartParam: IfcParameterValue | null, EndParam: IfcParameterValue | null);
    }
    class IfcSweptDiskSolidPolygonal extends IfcSweptDiskSolid {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        Radius: IfcPositiveLengthMeasure;
        InnerRadius: IfcPositiveLengthMeasure | null;
        StartParam: IfcParameterValue | null;
        EndParam: IfcParameterValue | null;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), Radius: IfcPositiveLengthMeasure, InnerRadius: IfcPositiveLengthMeasure | null, StartParam: IfcParameterValue | null, EndParam: IfcParameterValue | null, FilletRadius: IfcNonNegativeLengthMeasure | null);
    }
    class IfcSweptSurface extends IfcSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcTShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        WebEdgeRadius: IfcNonNegativeLengthMeasure | null;
        WebSlope: IfcPlaneAngleMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, WebEdgeRadius: IfcNonNegativeLengthMeasure | null, WebSlope: IfcPlaneAngleMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcTessellatedItem extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcTextLiteral extends IfcGeometricRepresentationItem {
        Literal: IfcPresentableText;
        Placement: IfcAxis2Placement;
        Path: IfcTextPath;
        type: number;
        constructor(Literal: IfcPresentableText, Placement: IfcAxis2Placement, Path: IfcTextPath);
    }
    class IfcTextLiteralWithExtent extends IfcTextLiteral {
        Literal: IfcPresentableText;
        Placement: IfcAxis2Placement;
        Path: IfcTextPath;
        Extent: (Handle<IfcPlanarExtent> | IfcPlanarExtent);
        BoxAlignment: IfcBoxAlignment;
        type: number;
        constructor(Literal: IfcPresentableText, Placement: IfcAxis2Placement, Path: IfcTextPath, Extent: (Handle<IfcPlanarExtent> | IfcPlanarExtent), BoxAlignment: IfcBoxAlignment);
    }
    class IfcTextStyleFontModel extends IfcPreDefinedTextFont {
        Name: IfcLabel;
        FontFamily: IfcTextFontName[];
        FontStyle: IfcFontStyle | null;
        FontVariant: IfcFontVariant | null;
        FontWeight: IfcFontWeight | null;
        FontSize: IfcSizeSelect;
        type: number;
        constructor(Name: IfcLabel, FontFamily: IfcTextFontName[], FontStyle: IfcFontStyle | null, FontVariant: IfcFontVariant | null, FontWeight: IfcFontWeight | null, FontSize: IfcSizeSelect);
    }
    class IfcTrapeziumProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        BottomXDim: IfcPositiveLengthMeasure;
        TopXDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        TopXOffset: IfcLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, BottomXDim: IfcPositiveLengthMeasure, TopXDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, TopXOffset: IfcLengthMeasure);
    }
    class IfcTypeObject extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        type: number;
        Types: (Handle<IfcRelDefinesByType> | IfcRelDefinesByType)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null);
    }
    class IfcTypeProcess extends IfcTypeObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        type: number;
        OperatesOn: (Handle<IfcRelAssignsToProcess> | IfcRelAssignsToProcess)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null);
    }
    class IfcTypeProduct extends IfcTypeObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        type: number;
        ReferencedBy: (Handle<IfcRelAssignsToProduct> | IfcRelAssignsToProduct)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null);
    }
    class IfcTypeResource extends IfcTypeObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        type: number;
        ResourceOf: (Handle<IfcRelAssignsToResource> | IfcRelAssignsToResource)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null);
    }
    class IfcUShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        EdgeRadius: IfcNonNegativeLengthMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, EdgeRadius: IfcNonNegativeLengthMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcVector extends IfcGeometricRepresentationItem {
        Orientation: (Handle<IfcDirection> | IfcDirection);
        Magnitude: IfcLengthMeasure;
        type: number;
        constructor(Orientation: (Handle<IfcDirection> | IfcDirection), Magnitude: IfcLengthMeasure);
    }
    class IfcVertexLoop extends IfcLoop {
        LoopVertex: (Handle<IfcVertex> | IfcVertex);
        type: number;
        constructor(LoopVertex: (Handle<IfcVertex> | IfcVertex));
    }
    class IfcZShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        FlangeWidth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        EdgeRadius: IfcNonNegativeLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, FlangeWidth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, EdgeRadius: IfcNonNegativeLengthMeasure | null);
    }
    class IfcAdvancedFace extends IfcFaceSurface {
        Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[];
        FaceSurface: (Handle<IfcSurface> | IfcSurface);
        SameSense: IfcBoolean;
        type: number;
        constructor(Bounds: (Handle<IfcFaceBound> | IfcFaceBound)[], FaceSurface: (Handle<IfcSurface> | IfcSurface), SameSense: IfcBoolean);
    }
    class IfcAnnotationFillArea extends IfcGeometricRepresentationItem {
        OuterBoundary: (Handle<IfcCurve> | IfcCurve);
        InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null;
        type: number;
        constructor(OuterBoundary: (Handle<IfcCurve> | IfcCurve), InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null);
    }
    class IfcAsymmetricIShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        BottomFlangeWidth: IfcPositiveLengthMeasure;
        OverallDepth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        BottomFlangeThickness: IfcPositiveLengthMeasure;
        BottomFlangeFilletRadius: IfcNonNegativeLengthMeasure | null;
        TopFlangeWidth: IfcPositiveLengthMeasure;
        TopFlangeThickness: IfcPositiveLengthMeasure | null;
        TopFlangeFilletRadius: IfcNonNegativeLengthMeasure | null;
        BottomFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        BottomFlangeSlope: IfcPlaneAngleMeasure | null;
        TopFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        TopFlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, BottomFlangeWidth: IfcPositiveLengthMeasure, OverallDepth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, BottomFlangeThickness: IfcPositiveLengthMeasure, BottomFlangeFilletRadius: IfcNonNegativeLengthMeasure | null, TopFlangeWidth: IfcPositiveLengthMeasure, TopFlangeThickness: IfcPositiveLengthMeasure | null, TopFlangeFilletRadius: IfcNonNegativeLengthMeasure | null, BottomFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, BottomFlangeSlope: IfcPlaneAngleMeasure | null, TopFlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, TopFlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcAxis1Placement extends IfcPlacement {
        Location: (Handle<IfcPoint> | IfcPoint);
        Axis: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcPoint> | IfcPoint), Axis: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcAxis2Placement2D extends IfcPlacement {
        Location: (Handle<IfcPoint> | IfcPoint);
        RefDirection: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcPoint> | IfcPoint), RefDirection: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcAxis2Placement3D extends IfcPlacement {
        Location: (Handle<IfcPoint> | IfcPoint);
        Axis: (Handle<IfcDirection> | IfcDirection) | null;
        RefDirection: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcPoint> | IfcPoint), Axis: (Handle<IfcDirection> | IfcDirection) | null, RefDirection: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcAxis2PlacementLinear extends IfcPlacement {
        Location: (Handle<IfcPoint> | IfcPoint);
        Axis: (Handle<IfcDirection> | IfcDirection) | null;
        RefDirection: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Location: (Handle<IfcPoint> | IfcPoint), Axis: (Handle<IfcDirection> | IfcDirection) | null, RefDirection: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcBooleanResult extends IfcGeometricRepresentationItem {
        Operator: IfcBooleanOperator;
        FirstOperand: IfcBooleanOperand;
        SecondOperand: IfcBooleanOperand;
        type: number;
        constructor(Operator: IfcBooleanOperator, FirstOperand: IfcBooleanOperand, SecondOperand: IfcBooleanOperand);
    }
    class IfcBoundedSurface extends IfcSurface {
        type: number;
        constructor();
    }
    class IfcBoundingBox extends IfcGeometricRepresentationItem {
        Corner: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        ZDim: IfcPositiveLengthMeasure;
        type: number;
        constructor(Corner: (Handle<IfcCartesianPoint> | IfcCartesianPoint), XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, ZDim: IfcPositiveLengthMeasure);
    }
    class IfcBoxedHalfSpace extends IfcHalfSpaceSolid {
        BaseSurface: (Handle<IfcSurface> | IfcSurface);
        AgreementFlag: IfcBoolean;
        Enclosure: (Handle<IfcBoundingBox> | IfcBoundingBox);
        type: number;
        constructor(BaseSurface: (Handle<IfcSurface> | IfcSurface), AgreementFlag: IfcBoolean, Enclosure: (Handle<IfcBoundingBox> | IfcBoundingBox));
    }
    class IfcCShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        Width: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        Girth: IfcPositiveLengthMeasure;
        InternalFilletRadius: IfcNonNegativeLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, Width: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure, Girth: IfcPositiveLengthMeasure, InternalFilletRadius: IfcNonNegativeLengthMeasure | null);
    }
    class IfcCartesianPoint extends IfcPoint {
        Coordinates: IfcLengthMeasure[];
        type: number;
        constructor(Coordinates: IfcLengthMeasure[]);
    }
    class IfcCartesianPointList extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcCartesianPointList2D extends IfcCartesianPointList {
        CoordList: IfcLengthMeasure[][];
        TagList: IfcLabel[] | null;
        type: number;
        constructor(CoordList: IfcLengthMeasure[][], TagList: IfcLabel[] | null);
    }
    class IfcCartesianPointList3D extends IfcCartesianPointList {
        CoordList: IfcLengthMeasure[][];
        TagList: IfcLabel[] | null;
        type: number;
        constructor(CoordList: IfcLengthMeasure[][], TagList: IfcLabel[] | null);
    }
    class IfcCartesianTransformationOperator extends IfcGeometricRepresentationItem {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null);
    }
    class IfcCartesianTransformationOperator2D extends IfcCartesianTransformationOperator {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null);
    }
    class IfcCartesianTransformationOperator2DnonUniform extends IfcCartesianTransformationOperator2D {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        Scale2: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null, Scale2: IfcReal | null);
    }
    class IfcCartesianTransformationOperator3D extends IfcCartesianTransformationOperator {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        Axis3: (Handle<IfcDirection> | IfcDirection) | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null, Axis3: (Handle<IfcDirection> | IfcDirection) | null);
    }
    class IfcCartesianTransformationOperator3DnonUniform extends IfcCartesianTransformationOperator3D {
        Axis1: (Handle<IfcDirection> | IfcDirection) | null;
        Axis2: (Handle<IfcDirection> | IfcDirection) | null;
        LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Scale: IfcReal | null;
        Axis3: (Handle<IfcDirection> | IfcDirection) | null;
        Scale2: IfcReal | null;
        Scale3: IfcReal | null;
        type: number;
        constructor(Axis1: (Handle<IfcDirection> | IfcDirection) | null, Axis2: (Handle<IfcDirection> | IfcDirection) | null, LocalOrigin: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Scale: IfcReal | null, Axis3: (Handle<IfcDirection> | IfcDirection) | null, Scale2: IfcReal | null, Scale3: IfcReal | null);
    }
    class IfcCircleProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Radius: IfcPositiveLengthMeasure);
    }
    class IfcClosedShell extends IfcConnectedFaceSet {
        CfsFaces: (Handle<IfcFace> | IfcFace)[];
        type: number;
        constructor(CfsFaces: (Handle<IfcFace> | IfcFace)[]);
    }
    class IfcColourRgb extends IfcColourSpecification {
        Name: IfcLabel | null;
        Red: IfcNormalisedRatioMeasure;
        Green: IfcNormalisedRatioMeasure;
        Blue: IfcNormalisedRatioMeasure;
        type: number;
        constructor(Name: IfcLabel | null, Red: IfcNormalisedRatioMeasure, Green: IfcNormalisedRatioMeasure, Blue: IfcNormalisedRatioMeasure);
    }
    class IfcComplexProperty extends IfcProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        UsageName: IfcIdentifier;
        HasProperties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null, UsageName: IfcIdentifier, HasProperties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcCompositeCurveSegment extends IfcSegment {
        Transition: IfcTransitionCode;
        SameSense: IfcBoolean;
        ParentCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(Transition: IfcTransitionCode, SameSense: IfcBoolean, ParentCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcConstructionResourceType extends IfcTypeResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null);
    }
    class IfcContext extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        Phase: IfcLabel | null;
        RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null;
        UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null;
        type: number;
        IsDefinedBy: (Handle<IfcRelDefinesByProperties> | IfcRelDefinesByProperties)[] | null;
        Declares: (Handle<IfcRelDeclares> | IfcRelDeclares)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, Phase: IfcLabel | null, RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null, UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null);
    }
    class IfcCrewResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcCrewResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcCrewResourceTypeEnum);
    }
    class IfcCsgPrimitive3D extends IfcGeometricRepresentationItem {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcCsgSolid extends IfcSolidModel {
        TreeRootExpression: IfcCsgSelect;
        type: number;
        constructor(TreeRootExpression: IfcCsgSelect);
    }
    class IfcCurve extends IfcGeometricRepresentationItem {
        type: number;
        constructor();
    }
    class IfcCurveBoundedPlane extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcPlane> | IfcPlane);
        OuterBoundary: (Handle<IfcCurve> | IfcCurve);
        InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null;
        type: number;
        constructor(BasisSurface: (Handle<IfcPlane> | IfcPlane), OuterBoundary: (Handle<IfcCurve> | IfcCurve), InnerBoundaries: (Handle<IfcCurve> | IfcCurve)[] | null);
    }
    class IfcCurveBoundedSurface extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        Boundaries: (Handle<IfcBoundaryCurve> | IfcBoundaryCurve)[];
        ImplicitOuter: IfcBoolean;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), Boundaries: (Handle<IfcBoundaryCurve> | IfcBoundaryCurve)[], ImplicitOuter: IfcBoolean);
    }
    class IfcCurveSegment extends IfcSegment {
        Transition: IfcTransitionCode;
        Placement: (Handle<IfcPlacement> | IfcPlacement);
        SegmentStart: IfcCurveMeasureSelect;
        SegmentLength: IfcCurveMeasureSelect;
        ParentCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(Transition: IfcTransitionCode, Placement: (Handle<IfcPlacement> | IfcPlacement), SegmentStart: IfcCurveMeasureSelect, SegmentLength: IfcCurveMeasureSelect, ParentCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcDirection extends IfcGeometricRepresentationItem {
        DirectionRatios: IfcReal[];
        type: number;
        constructor(DirectionRatios: IfcReal[]);
    }
    class IfcDirectrixCurveSweptAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Directrix: (Handle<IfcCurve> | IfcCurve);
        StartParam: IfcCurveMeasureSelect | null;
        EndParam: IfcCurveMeasureSelect | null;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Directrix: (Handle<IfcCurve> | IfcCurve), StartParam: IfcCurveMeasureSelect | null, EndParam: IfcCurveMeasureSelect | null);
    }
    class IfcEdgeLoop extends IfcLoop {
        EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[];
        type: number;
        constructor(EdgeList: (Handle<IfcOrientedEdge> | IfcOrientedEdge)[]);
    }
    class IfcElementQuantity extends IfcQuantitySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        MethodOfMeasurement: IfcLabel | null;
        Quantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, MethodOfMeasurement: IfcLabel | null, Quantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[]);
    }
    class IfcElementType extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcElementarySurface extends IfcSurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcEllipseProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        SemiAxis1: IfcPositiveLengthMeasure;
        SemiAxis2: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, SemiAxis1: IfcPositiveLengthMeasure, SemiAxis2: IfcPositiveLengthMeasure);
    }
    class IfcEventType extends IfcTypeProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        PredefinedType: IfcEventTypeEnum;
        EventTriggerType: IfcEventTriggerTypeEnum;
        UserDefinedEventTriggerType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null, PredefinedType: IfcEventTypeEnum, EventTriggerType: IfcEventTriggerTypeEnum, UserDefinedEventTriggerType: IfcLabel | null);
    }
    class IfcExtrudedAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcPositiveLengthMeasure;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcPositiveLengthMeasure);
    }
    class IfcExtrudedAreaSolidTapered extends IfcExtrudedAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcPositiveLengthMeasure;
        EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcPositiveLengthMeasure, EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcFaceBasedSurfaceModel extends IfcGeometricRepresentationItem {
        FbsmFaces: (Handle<IfcConnectedFaceSet> | IfcConnectedFaceSet)[];
        type: number;
        constructor(FbsmFaces: (Handle<IfcConnectedFaceSet> | IfcConnectedFaceSet)[]);
    }
    class IfcFillAreaStyleHatching extends IfcGeometricRepresentationItem {
        HatchLineAppearance: (Handle<IfcCurveStyle> | IfcCurveStyle);
        StartOfNextHatchLine: IfcHatchLineDistanceSelect;
        PointOfReferenceHatchLine: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null;
        PatternStart: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null;
        HatchLineAngle: IfcPlaneAngleMeasure;
        type: number;
        constructor(HatchLineAppearance: (Handle<IfcCurveStyle> | IfcCurveStyle), StartOfNextHatchLine: IfcHatchLineDistanceSelect, PointOfReferenceHatchLine: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null, PatternStart: (Handle<IfcCartesianPoint> | IfcCartesianPoint) | null, HatchLineAngle: IfcPlaneAngleMeasure);
    }
    class IfcFillAreaStyleTiles extends IfcGeometricRepresentationItem {
        TilingPattern: (Handle<IfcVector> | IfcVector)[];
        Tiles: (Handle<IfcStyledItem> | IfcStyledItem)[];
        TilingScale: IfcPositiveRatioMeasure;
        type: number;
        constructor(TilingPattern: (Handle<IfcVector> | IfcVector)[], Tiles: (Handle<IfcStyledItem> | IfcStyledItem)[], TilingScale: IfcPositiveRatioMeasure);
    }
    class IfcFixedReferenceSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Directrix: (Handle<IfcCurve> | IfcCurve);
        StartParam: IfcCurveMeasureSelect | null;
        EndParam: IfcCurveMeasureSelect | null;
        FixedReference: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Directrix: (Handle<IfcCurve> | IfcCurve), StartParam: IfcCurveMeasureSelect | null, EndParam: IfcCurveMeasureSelect | null, FixedReference: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcFurnishingElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFurnitureType extends IfcFurnishingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        AssemblyPlace: IfcAssemblyPlaceEnum;
        PredefinedType: IfcFurnitureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, AssemblyPlace: IfcAssemblyPlaceEnum, PredefinedType: IfcFurnitureTypeEnum | null);
    }
    class IfcGeographicElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcGeographicElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcGeographicElementTypeEnum);
    }
    class IfcGeometricCurveSet extends IfcGeometricSet {
        Elements: IfcGeometricSetSelect[];
        type: number;
        constructor(Elements: IfcGeometricSetSelect[]);
    }
    class IfcIShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        OverallWidth: IfcPositiveLengthMeasure;
        OverallDepth: IfcPositiveLengthMeasure;
        WebThickness: IfcPositiveLengthMeasure;
        FlangeThickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null;
        FlangeSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, OverallWidth: IfcPositiveLengthMeasure, OverallDepth: IfcPositiveLengthMeasure, WebThickness: IfcPositiveLengthMeasure, FlangeThickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, FlangeEdgeRadius: IfcNonNegativeLengthMeasure | null, FlangeSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcIndexedPolygonalFace extends IfcTessellatedItem {
        CoordIndex: IfcPositiveInteger[];
        type: number;
        ToFaceSet: (Handle<IfcPolygonalFaceSet> | IfcPolygonalFaceSet)[] | null;
        HasTexCoords: (Handle<IfcTextureCoordinateIndices> | IfcTextureCoordinateIndices)[] | null;
        constructor(CoordIndex: IfcPositiveInteger[]);
    }
    class IfcIndexedPolygonalFaceWithVoids extends IfcIndexedPolygonalFace {
        CoordIndex: IfcPositiveInteger[];
        InnerCoordIndices: IfcPositiveInteger[][];
        type: number;
        constructor(CoordIndex: IfcPositiveInteger[], InnerCoordIndices: IfcPositiveInteger[][]);
    }
    class IfcIndexedPolygonalTextureMap extends IfcIndexedTextureMap {
        Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[];
        MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet);
        TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList);
        TexCoordIndices: (Handle<IfcTextureCoordinateIndices> | IfcTextureCoordinateIndices)[];
        type: number;
        constructor(Maps: (Handle<IfcSurfaceTexture> | IfcSurfaceTexture)[], MappedTo: (Handle<IfcTessellatedFaceSet> | IfcTessellatedFaceSet), TexCoords: (Handle<IfcTextureVertexList> | IfcTextureVertexList), TexCoordIndices: (Handle<IfcTextureCoordinateIndices> | IfcTextureCoordinateIndices)[]);
    }
    class IfcLShapeProfileDef extends IfcParameterizedProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Depth: IfcPositiveLengthMeasure;
        Width: IfcPositiveLengthMeasure | null;
        Thickness: IfcPositiveLengthMeasure;
        FilletRadius: IfcNonNegativeLengthMeasure | null;
        EdgeRadius: IfcNonNegativeLengthMeasure | null;
        LegSlope: IfcPlaneAngleMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Depth: IfcPositiveLengthMeasure, Width: IfcPositiveLengthMeasure | null, Thickness: IfcPositiveLengthMeasure, FilletRadius: IfcNonNegativeLengthMeasure | null, EdgeRadius: IfcNonNegativeLengthMeasure | null, LegSlope: IfcPlaneAngleMeasure | null);
    }
    class IfcLaborResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcLaborResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcLaborResourceTypeEnum);
    }
    class IfcLine extends IfcCurve {
        Pnt: (Handle<IfcCartesianPoint> | IfcCartesianPoint);
        Dir: (Handle<IfcVector> | IfcVector);
        type: number;
        constructor(Pnt: (Handle<IfcCartesianPoint> | IfcCartesianPoint), Dir: (Handle<IfcVector> | IfcVector));
    }
    class IfcManifoldSolidBrep extends IfcSolidModel {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcObject extends IfcObjectDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        IsDeclaredBy: (Handle<IfcRelDefinesByObject> | IfcRelDefinesByObject)[] | null;
        Declares: (Handle<IfcRelDefinesByObject> | IfcRelDefinesByObject)[] | null;
        IsTypedBy: (Handle<IfcRelDefinesByType> | IfcRelDefinesByType)[] | null;
        IsDefinedBy: (Handle<IfcRelDefinesByProperties> | IfcRelDefinesByProperties)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcOffsetCurve extends IfcCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcOffsetCurve2D extends IfcOffsetCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Distance: IfcLengthMeasure;
        SelfIntersect: IfcLogical;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Distance: IfcLengthMeasure, SelfIntersect: IfcLogical);
    }
    class IfcOffsetCurve3D extends IfcOffsetCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Distance: IfcLengthMeasure;
        SelfIntersect: IfcLogical;
        RefDirection: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Distance: IfcLengthMeasure, SelfIntersect: IfcLogical, RefDirection: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcOffsetCurveByDistances extends IfcOffsetCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        OffsetValues: (Handle<IfcPointByDistanceExpression> | IfcPointByDistanceExpression)[];
        Tag: IfcLabel | null;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), OffsetValues: (Handle<IfcPointByDistanceExpression> | IfcPointByDistanceExpression)[], Tag: IfcLabel | null);
    }
    class IfcPcurve extends IfcCurve {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        ReferenceCurve: (Handle<IfcCurve> | IfcCurve);
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), ReferenceCurve: (Handle<IfcCurve> | IfcCurve));
    }
    class IfcPlanarBox extends IfcPlanarExtent {
        SizeInX: IfcLengthMeasure;
        SizeInY: IfcLengthMeasure;
        Placement: IfcAxis2Placement;
        type: number;
        constructor(SizeInX: IfcLengthMeasure, SizeInY: IfcLengthMeasure, Placement: IfcAxis2Placement);
    }
    class IfcPlane extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D));
    }
    class IfcPolynomialCurve extends IfcCurve {
        Position: (Handle<IfcPlacement> | IfcPlacement);
        CoefficientsX: IfcReal[] | null;
        CoefficientsY: IfcReal[] | null;
        CoefficientsZ: IfcReal[] | null;
        type: number;
        constructor(Position: (Handle<IfcPlacement> | IfcPlacement), CoefficientsX: IfcReal[] | null, CoefficientsY: IfcReal[] | null, CoefficientsZ: IfcReal[] | null);
    }
    class IfcPreDefinedColour extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedCurveFont extends IfcPreDefinedItem {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcPreDefinedPropertySet extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcProcedureType extends IfcTypeProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        PredefinedType: IfcProcedureTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null, PredefinedType: IfcProcedureTypeEnum);
    }
    class IfcProcess extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        type: number;
        IsPredecessorTo: (Handle<IfcRelSequence> | IfcRelSequence)[] | null;
        IsSuccessorFrom: (Handle<IfcRelSequence> | IfcRelSequence)[] | null;
        OperatesOn: (Handle<IfcRelAssignsToProcess> | IfcRelAssignsToProcess)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null);
    }
    class IfcProduct extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ReferencedBy: (Handle<IfcRelAssignsToProduct> | IfcRelAssignsToProduct)[] | null;
        PositionedRelativeTo: (Handle<IfcRelPositions> | IfcRelPositions)[] | null;
        ReferencedInStructures: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcProject extends IfcContext {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        Phase: IfcLabel | null;
        RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null;
        UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, Phase: IfcLabel | null, RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null, UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null);
    }
    class IfcProjectLibrary extends IfcContext {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        Phase: IfcLabel | null;
        RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null;
        UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, Phase: IfcLabel | null, RepresentationContexts: (Handle<IfcRepresentationContext> | IfcRepresentationContext)[] | null, UnitsInContext: (Handle<IfcUnitAssignment> | IfcUnitAssignment) | null);
    }
    class IfcPropertyBoundedValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        UpperBoundValue: IfcValue | null;
        LowerBoundValue: IfcValue | null;
        Unit: IfcUnit | null;
        SetPointValue: IfcValue | null;
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null, UpperBoundValue: IfcValue | null, LowerBoundValue: IfcValue | null, Unit: IfcUnit | null, SetPointValue: IfcValue | null);
    }
    class IfcPropertyEnumeratedValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        EnumerationValues: IfcValue[] | null;
        EnumerationReference: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null;
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null, EnumerationValues: IfcValue[] | null, EnumerationReference: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null);
    }
    class IfcPropertyListValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        ListValues: IfcValue[] | null;
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null, ListValues: IfcValue[] | null, Unit: IfcUnit | null);
    }
    class IfcPropertyReferenceValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        UsageName: IfcText | null;
        PropertyReference: IfcObjectReferenceSelect | null;
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null, UsageName: IfcText | null, PropertyReference: IfcObjectReferenceSelect | null);
    }
    class IfcPropertySet extends IfcPropertySetDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        HasProperties: (Handle<IfcProperty> | IfcProperty)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, HasProperties: (Handle<IfcProperty> | IfcProperty)[]);
    }
    class IfcPropertySetTemplate extends IfcPropertyTemplateDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        TemplateType: IfcPropertySetTemplateTypeEnum | null;
        ApplicableEntity: IfcIdentifier | null;
        HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[];
        type: number;
        Defines: (Handle<IfcRelDefinesByTemplate> | IfcRelDefinesByTemplate)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, TemplateType: IfcPropertySetTemplateTypeEnum | null, ApplicableEntity: IfcIdentifier | null, HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[]);
    }
    class IfcPropertySingleValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        NominalValue: IfcValue | null;
        Unit: IfcUnit | null;
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null, NominalValue: IfcValue | null, Unit: IfcUnit | null);
    }
    class IfcPropertyTableValue extends IfcSimpleProperty {
        Name: IfcIdentifier;
        Specification: IfcText | null;
        DefiningValues: IfcValue[] | null;
        DefinedValues: IfcValue[] | null;
        Expression: IfcText | null;
        DefiningUnit: IfcUnit | null;
        DefinedUnit: IfcUnit | null;
        CurveInterpolation: IfcCurveInterpolationEnum | null;
        type: number;
        constructor(Name: IfcIdentifier, Specification: IfcText | null, DefiningValues: IfcValue[] | null, DefinedValues: IfcValue[] | null, Expression: IfcText | null, DefiningUnit: IfcUnit | null, DefinedUnit: IfcUnit | null, CurveInterpolation: IfcCurveInterpolationEnum | null);
    }
    class IfcPropertyTemplate extends IfcPropertyTemplateDefinition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        PartOfComplexTemplate: (Handle<IfcComplexPropertyTemplate> | IfcComplexPropertyTemplate)[] | null;
        PartOfPsetTemplate: (Handle<IfcPropertySetTemplate> | IfcPropertySetTemplate)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRectangleHollowProfileDef extends IfcRectangleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        XDim: IfcPositiveLengthMeasure;
        YDim: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        InnerFilletRadius: IfcNonNegativeLengthMeasure | null;
        OuterFilletRadius: IfcNonNegativeLengthMeasure | null;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, XDim: IfcPositiveLengthMeasure, YDim: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure, InnerFilletRadius: IfcNonNegativeLengthMeasure | null, OuterFilletRadius: IfcNonNegativeLengthMeasure | null);
    }
    class IfcRectangularPyramid extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        XLength: IfcPositiveLengthMeasure;
        YLength: IfcPositiveLengthMeasure;
        Height: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), XLength: IfcPositiveLengthMeasure, YLength: IfcPositiveLengthMeasure, Height: IfcPositiveLengthMeasure);
    }
    class IfcRectangularTrimmedSurface extends IfcBoundedSurface {
        BasisSurface: (Handle<IfcSurface> | IfcSurface);
        U1: IfcParameterValue;
        V1: IfcParameterValue;
        U2: IfcParameterValue;
        V2: IfcParameterValue;
        Usense: IfcBoolean;
        Vsense: IfcBoolean;
        type: number;
        constructor(BasisSurface: (Handle<IfcSurface> | IfcSurface), U1: IfcParameterValue, V1: IfcParameterValue, U2: IfcParameterValue, V2: IfcParameterValue, Usense: IfcBoolean, Vsense: IfcBoolean);
    }
    class IfcReinforcementDefinitionProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        DefinitionType: IfcLabel | null;
        ReinforcementSectionDefinitions: (Handle<IfcSectionReinforcementProperties> | IfcSectionReinforcementProperties)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, DefinitionType: IfcLabel | null, ReinforcementSectionDefinitions: (Handle<IfcSectionReinforcementProperties> | IfcSectionReinforcementProperties)[]);
    }
    class IfcRelAssigns extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null);
    }
    class IfcRelAssignsToActor extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingActor: (Handle<IfcActor> | IfcActor);
        ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingActor: (Handle<IfcActor> | IfcActor), ActingRole: (Handle<IfcActorRole> | IfcActorRole) | null);
    }
    class IfcRelAssignsToControl extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingControl: (Handle<IfcControl> | IfcControl);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingControl: (Handle<IfcControl> | IfcControl));
    }
    class IfcRelAssignsToGroup extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingGroup: (Handle<IfcGroup> | IfcGroup);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingGroup: (Handle<IfcGroup> | IfcGroup));
    }
    class IfcRelAssignsToGroupByFactor extends IfcRelAssignsToGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingGroup: (Handle<IfcGroup> | IfcGroup);
        Factor: IfcRatioMeasure;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingGroup: (Handle<IfcGroup> | IfcGroup), Factor: IfcRatioMeasure);
    }
    class IfcRelAssignsToProcess extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingProcess: IfcProcessSelect;
        QuantityInProcess: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingProcess: IfcProcessSelect, QuantityInProcess: (Handle<IfcMeasureWithUnit> | IfcMeasureWithUnit) | null);
    }
    class IfcRelAssignsToProduct extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingProduct: IfcProductSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingProduct: IfcProductSelect);
    }
    class IfcRelAssignsToResource extends IfcRelAssigns {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatedObjectsType: IfcObjectTypeEnum | null;
        RelatingResource: IfcResourceSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatedObjectsType: IfcObjectTypeEnum | null, RelatingResource: IfcResourceSelect);
    }
    class IfcRelAssociates extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[]);
    }
    class IfcRelAssociatesApproval extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingApproval: (Handle<IfcApproval> | IfcApproval);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingApproval: (Handle<IfcApproval> | IfcApproval));
    }
    class IfcRelAssociatesClassification extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingClassification: IfcClassificationSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingClassification: IfcClassificationSelect);
    }
    class IfcRelAssociatesConstraint extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        Intent: IfcLabel | null;
        RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], Intent: IfcLabel | null, RelatingConstraint: (Handle<IfcConstraint> | IfcConstraint));
    }
    class IfcRelAssociatesDocument extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingDocument: IfcDocumentSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingDocument: IfcDocumentSelect);
    }
    class IfcRelAssociatesLibrary extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingLibrary: IfcLibrarySelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingLibrary: IfcLibrarySelect);
    }
    class IfcRelAssociatesMaterial extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingMaterial: IfcMaterialSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingMaterial: IfcMaterialSelect);
    }
    class IfcRelAssociatesProfileDef extends IfcRelAssociates {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: IfcDefinitionSelect[];
        RelatingProfileDef: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: IfcDefinitionSelect[], RelatingProfileDef: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcRelConnects extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRelConnectsElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement));
    }
    class IfcRelConnectsPathElements extends IfcRelConnectsElements {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        RelatingPriorities: IfcInteger[] | null;
        RelatedPriorities: IfcInteger[] | null;
        RelatedConnectionType: IfcConnectionTypeEnum;
        RelatingConnectionType: IfcConnectionTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement), RelatingPriorities: IfcInteger[] | null, RelatedPriorities: IfcInteger[] | null, RelatedConnectionType: IfcConnectionTypeEnum, RelatingConnectionType: IfcConnectionTypeEnum);
    }
    class IfcRelConnectsPortToElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingPort: (Handle<IfcPort> | IfcPort);
        RelatedElement: (Handle<IfcDistributionElement> | IfcDistributionElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingPort: (Handle<IfcPort> | IfcPort), RelatedElement: (Handle<IfcDistributionElement> | IfcDistributionElement));
    }
    class IfcRelConnectsPorts extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingPort: (Handle<IfcPort> | IfcPort);
        RelatedPort: (Handle<IfcPort> | IfcPort);
        RealizingElement: (Handle<IfcElement> | IfcElement) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingPort: (Handle<IfcPort> | IfcPort), RelatedPort: (Handle<IfcPort> | IfcPort), RealizingElement: (Handle<IfcElement> | IfcElement) | null);
    }
    class IfcRelConnectsStructuralActivity extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: IfcStructuralActivityAssignmentSelect;
        RelatedStructuralActivity: (Handle<IfcStructuralActivity> | IfcStructuralActivity);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingElement: IfcStructuralActivityAssignmentSelect, RelatedStructuralActivity: (Handle<IfcStructuralActivity> | IfcStructuralActivity));
    }
    class IfcRelConnectsStructuralMember extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember);
        RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection);
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null;
        SupportedLength: IfcLengthMeasure | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember), RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection), AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null, SupportedLength: IfcLengthMeasure | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcRelConnectsWithEccentricity extends IfcRelConnectsStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember);
        RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection);
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null;
        SupportedLength: IfcLengthMeasure | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ConnectionConstraint: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingStructuralMember: (Handle<IfcStructuralMember> | IfcStructuralMember), RelatedStructuralConnection: (Handle<IfcStructuralConnection> | IfcStructuralConnection), AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, AdditionalConditions: (Handle<IfcStructuralConnectionCondition> | IfcStructuralConnectionCondition) | null, SupportedLength: IfcLengthMeasure | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ConnectionConstraint: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry));
    }
    class IfcRelConnectsWithRealizingElements extends IfcRelConnectsElements {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedElement: (Handle<IfcElement> | IfcElement);
        RealizingElements: (Handle<IfcElement> | IfcElement)[];
        ConnectionType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedElement: (Handle<IfcElement> | IfcElement), RealizingElements: (Handle<IfcElement> | IfcElement)[], ConnectionType: IfcLabel | null);
    }
    class IfcRelContainedInSpatialStructure extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedElements: (Handle<IfcProduct> | IfcProduct)[];
        RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedElements: (Handle<IfcProduct> | IfcProduct)[], RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement));
    }
    class IfcRelCoversBldgElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingBuildingElement: (Handle<IfcElement> | IfcElement);
        RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingBuildingElement: (Handle<IfcElement> | IfcElement), RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[]);
    }
    class IfcRelCoversSpaces extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: (Handle<IfcSpace> | IfcSpace);
        RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: (Handle<IfcSpace> | IfcSpace), RelatedCoverings: (Handle<IfcCovering> | IfcCovering)[]);
    }
    class IfcRelDeclares extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingContext: (Handle<IfcContext> | IfcContext);
        RelatedDefinitions: IfcDefinitionSelect[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingContext: (Handle<IfcContext> | IfcContext), RelatedDefinitions: IfcDefinitionSelect[]);
    }
    class IfcRelDecomposes extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRelDefines extends IfcRelationship {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null);
    }
    class IfcRelDefinesByObject extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        RelatingObject: (Handle<IfcObject> | IfcObject);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[], RelatingObject: (Handle<IfcObject> | IfcObject));
    }
    class IfcRelDefinesByProperties extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        RelatingPropertyDefinition: IfcPropertySetDefinitionSelect;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[], RelatingPropertyDefinition: IfcPropertySetDefinitionSelect);
    }
    class IfcRelDefinesByTemplate extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[];
        RelatingTemplate: (Handle<IfcPropertySetTemplate> | IfcPropertySetTemplate);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[], RelatingTemplate: (Handle<IfcPropertySetTemplate> | IfcPropertySetTemplate));
    }
    class IfcRelDefinesByType extends IfcRelDefines {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedObjects: (Handle<IfcObject> | IfcObject)[];
        RelatingType: (Handle<IfcTypeObject> | IfcTypeObject);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedObjects: (Handle<IfcObject> | IfcObject)[], RelatingType: (Handle<IfcTypeObject> | IfcTypeObject));
    }
    class IfcRelFillsElement extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingOpeningElement: (Handle<IfcOpeningElement> | IfcOpeningElement);
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingOpeningElement: (Handle<IfcOpeningElement> | IfcOpeningElement), RelatedBuildingElement: (Handle<IfcElement> | IfcElement));
    }
    class IfcRelFlowControlElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedControlElements: (Handle<IfcDistributionControlElement> | IfcDistributionControlElement)[];
        RelatingFlowElement: (Handle<IfcDistributionFlowElement> | IfcDistributionFlowElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedControlElements: (Handle<IfcDistributionControlElement> | IfcDistributionControlElement)[], RelatingFlowElement: (Handle<IfcDistributionFlowElement> | IfcDistributionFlowElement));
    }
    class IfcRelInterferesElements extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: IfcInterferenceSelect;
        RelatedElement: IfcInterferenceSelect;
        InterferenceGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        InterferenceSpace: (Handle<IfcSpatialZone> | IfcSpatialZone) | null;
        InterferenceType: IfcIdentifier | null;
        ImpliedOrder: IfcLogical;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingElement: IfcInterferenceSelect, RelatedElement: IfcInterferenceSelect, InterferenceGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, InterferenceSpace: (Handle<IfcSpatialZone> | IfcSpatialZone) | null, InterferenceType: IfcIdentifier | null, ImpliedOrder: IfcLogical);
    }
    class IfcRelNests extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition);
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition), RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[]);
    }
    class IfcRelPositions extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingPositioningElement: (Handle<IfcPositioningElement> | IfcPositioningElement);
        RelatedProducts: (Handle<IfcProduct> | IfcProduct)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingPositioningElement: (Handle<IfcPositioningElement> | IfcPositioningElement), RelatedProducts: (Handle<IfcProduct> | IfcProduct)[]);
    }
    class IfcRelProjectsElement extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedFeatureElement: (Handle<IfcFeatureElementAddition> | IfcFeatureElementAddition);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedFeatureElement: (Handle<IfcFeatureElementAddition> | IfcFeatureElementAddition));
    }
    class IfcRelReferencedInSpatialStructure extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatedElements: IfcSpatialReferenceSelect[];
        RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatedElements: IfcSpatialReferenceSelect[], RelatingStructure: (Handle<IfcSpatialElement> | IfcSpatialElement));
    }
    class IfcRelSequence extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingProcess: (Handle<IfcProcess> | IfcProcess);
        RelatedProcess: (Handle<IfcProcess> | IfcProcess);
        TimeLag: (Handle<IfcLagTime> | IfcLagTime) | null;
        SequenceType: IfcSequenceEnum | null;
        UserDefinedSequenceType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingProcess: (Handle<IfcProcess> | IfcProcess), RelatedProcess: (Handle<IfcProcess> | IfcProcess), TimeLag: (Handle<IfcLagTime> | IfcLagTime) | null, SequenceType: IfcSequenceEnum | null, UserDefinedSequenceType: IfcLabel | null);
    }
    class IfcRelServicesBuildings extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSystem: (Handle<IfcSystem> | IfcSystem);
        RelatedBuildings: (Handle<IfcSpatialElement> | IfcSpatialElement)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSystem: (Handle<IfcSystem> | IfcSystem), RelatedBuildings: (Handle<IfcSpatialElement> | IfcSpatialElement)[]);
    }
    class IfcRelSpaceBoundary extends IfcRelConnects {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: IfcSpaceBoundarySelect;
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum;
        InternalOrExternalBoundary: IfcInternalOrExternalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: IfcSpaceBoundarySelect, RelatedBuildingElement: (Handle<IfcElement> | IfcElement), ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum, InternalOrExternalBoundary: IfcInternalOrExternalEnum);
    }
    class IfcRelSpaceBoundary1stLevel extends IfcRelSpaceBoundary {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: IfcSpaceBoundarySelect;
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum;
        InternalOrExternalBoundary: IfcInternalOrExternalEnum;
        ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null;
        type: number;
        InnerBoundaries: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: IfcSpaceBoundarySelect, RelatedBuildingElement: (Handle<IfcElement> | IfcElement), ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum, InternalOrExternalBoundary: IfcInternalOrExternalEnum, ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null);
    }
    class IfcRelSpaceBoundary2ndLevel extends IfcRelSpaceBoundary1stLevel {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingSpace: IfcSpaceBoundarySelect;
        RelatedBuildingElement: (Handle<IfcElement> | IfcElement);
        ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null;
        PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum;
        InternalOrExternalBoundary: IfcInternalOrExternalEnum;
        ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null;
        CorrespondingBoundary: (Handle<IfcRelSpaceBoundary2ndLevel> | IfcRelSpaceBoundary2ndLevel) | null;
        type: number;
        Corresponds: (Handle<IfcRelSpaceBoundary2ndLevel> | IfcRelSpaceBoundary2ndLevel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingSpace: IfcSpaceBoundarySelect, RelatedBuildingElement: (Handle<IfcElement> | IfcElement), ConnectionGeometry: (Handle<IfcConnectionGeometry> | IfcConnectionGeometry) | null, PhysicalOrVirtualBoundary: IfcPhysicalOrVirtualEnum, InternalOrExternalBoundary: IfcInternalOrExternalEnum, ParentBoundary: (Handle<IfcRelSpaceBoundary1stLevel> | IfcRelSpaceBoundary1stLevel) | null, CorrespondingBoundary: (Handle<IfcRelSpaceBoundary2ndLevel> | IfcRelSpaceBoundary2ndLevel) | null);
    }
    class IfcRelVoidsElement extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingBuildingElement: (Handle<IfcElement> | IfcElement);
        RelatedOpeningElement: (Handle<IfcFeatureElementSubtraction> | IfcFeatureElementSubtraction);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingBuildingElement: (Handle<IfcElement> | IfcElement), RelatedOpeningElement: (Handle<IfcFeatureElementSubtraction> | IfcFeatureElementSubtraction));
    }
    class IfcReparametrisedCompositeCurveSegment extends IfcCompositeCurveSegment {
        Transition: IfcTransitionCode;
        SameSense: IfcBoolean;
        ParentCurve: (Handle<IfcCurve> | IfcCurve);
        ParamLength: IfcParameterValue;
        type: number;
        constructor(Transition: IfcTransitionCode, SameSense: IfcBoolean, ParentCurve: (Handle<IfcCurve> | IfcCurve), ParamLength: IfcParameterValue);
    }
    class IfcResource extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        type: number;
        ResourceOf: (Handle<IfcRelAssignsToResource> | IfcRelAssignsToResource)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null);
    }
    class IfcRevolvedAreaSolid extends IfcSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        Angle: IfcPlaneAngleMeasure;
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement), Angle: IfcPlaneAngleMeasure);
    }
    class IfcRevolvedAreaSolidTapered extends IfcRevolvedAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        Angle: IfcPlaneAngleMeasure;
        EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Axis: (Handle<IfcAxis1Placement> | IfcAxis1Placement), Angle: IfcPlaneAngleMeasure, EndSweptArea: (Handle<IfcProfileDef> | IfcProfileDef));
    }
    class IfcRightCircularCone extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Height: IfcPositiveLengthMeasure;
        BottomRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Height: IfcPositiveLengthMeasure, BottomRadius: IfcPositiveLengthMeasure);
    }
    class IfcRightCircularCylinder extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Height: IfcPositiveLengthMeasure;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Height: IfcPositiveLengthMeasure, Radius: IfcPositiveLengthMeasure);
    }
    class IfcSectionedSolid extends IfcSolidModel {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[];
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[]);
    }
    class IfcSectionedSolidHorizontal extends IfcSectionedSolid {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[];
        CrossSectionPositions: (Handle<IfcAxis2PlacementLinear> | IfcAxis2PlacementLinear)[];
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[], CrossSectionPositions: (Handle<IfcAxis2PlacementLinear> | IfcAxis2PlacementLinear)[]);
    }
    class IfcSectionedSurface extends IfcSurface {
        Directrix: (Handle<IfcCurve> | IfcCurve);
        CrossSectionPositions: (Handle<IfcAxis2PlacementLinear> | IfcAxis2PlacementLinear)[];
        CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[];
        type: number;
        constructor(Directrix: (Handle<IfcCurve> | IfcCurve), CrossSectionPositions: (Handle<IfcAxis2PlacementLinear> | IfcAxis2PlacementLinear)[], CrossSections: (Handle<IfcProfileDef> | IfcProfileDef)[]);
    }
    class IfcSimplePropertyTemplate extends IfcPropertyTemplate {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        TemplateType: IfcSimplePropertyTemplateTypeEnum | null;
        PrimaryMeasureType: IfcLabel | null;
        SecondaryMeasureType: IfcLabel | null;
        Enumerators: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null;
        PrimaryUnit: IfcUnit | null;
        SecondaryUnit: IfcUnit | null;
        Expression: IfcLabel | null;
        AccessState: IfcStateEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, TemplateType: IfcSimplePropertyTemplateTypeEnum | null, PrimaryMeasureType: IfcLabel | null, SecondaryMeasureType: IfcLabel | null, Enumerators: (Handle<IfcPropertyEnumeration> | IfcPropertyEnumeration) | null, PrimaryUnit: IfcUnit | null, SecondaryUnit: IfcUnit | null, Expression: IfcLabel | null, AccessState: IfcStateEnum | null);
    }
    class IfcSpatialElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        type: number;
        ContainsElements: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        ServicedBySystems: (Handle<IfcRelServicesBuildings> | IfcRelServicesBuildings)[] | null;
        ReferencesElements: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        IsInterferedByElements: (Handle<IfcRelInterferesElements> | IfcRelInterferesElements)[] | null;
        InterferesElements: (Handle<IfcRelInterferesElements> | IfcRelInterferesElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null);
    }
    class IfcSpatialElementType extends IfcTypeProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcSpatialStructureElement extends IfcSpatialElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null);
    }
    class IfcSpatialStructureElementType extends IfcSpatialElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcSpatialZone extends IfcSpatialElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcSpatialZoneTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, PredefinedType: IfcSpatialZoneTypeEnum | null);
    }
    class IfcSpatialZoneType extends IfcSpatialElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpatialZoneTypeEnum;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpatialZoneTypeEnum, LongName: IfcLabel | null);
    }
    class IfcSphere extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcSphericalSurface extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcSpiral extends IfcCurve {
        Position: IfcAxis2Placement | null;
        type: number;
        constructor(Position: IfcAxis2Placement | null);
    }
    class IfcStructuralActivity extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        AssignedToStructuralItem: (Handle<IfcRelConnectsStructuralActivity> | IfcRelConnectsStructuralActivity)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralItem extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        AssignedStructuralActivity: (Handle<IfcRelConnectsStructuralActivity> | IfcRelConnectsStructuralActivity)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcStructuralMember extends IfcStructuralItem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ConnectedBy: (Handle<IfcRelConnectsStructuralMember> | IfcRelConnectsStructuralMember)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcStructuralReaction extends IfcStructuralActivity {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralSurfaceMember extends IfcStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralSurfaceMemberTypeEnum;
        Thickness: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralSurfaceMemberTypeEnum, Thickness: IfcPositiveLengthMeasure | null);
    }
    class IfcStructuralSurfaceMemberVarying extends IfcStructuralSurfaceMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralSurfaceMemberTypeEnum;
        Thickness: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralSurfaceMemberTypeEnum, Thickness: IfcPositiveLengthMeasure | null);
    }
    class IfcStructuralSurfaceReaction extends IfcStructuralReaction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        PredefinedType: IfcStructuralSurfaceActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, PredefinedType: IfcStructuralSurfaceActivityTypeEnum);
    }
    class IfcSubContractResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcSubContractResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcSubContractResourceTypeEnum);
    }
    class IfcSurfaceCurve extends IfcCurve {
        Curve3D: (Handle<IfcCurve> | IfcCurve);
        AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[];
        MasterRepresentation: IfcPreferredSurfaceCurveRepresentation;
        type: number;
        constructor(Curve3D: (Handle<IfcCurve> | IfcCurve), AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[], MasterRepresentation: IfcPreferredSurfaceCurveRepresentation);
    }
    class IfcSurfaceCurveSweptAreaSolid extends IfcDirectrixCurveSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Directrix: (Handle<IfcCurve> | IfcCurve);
        StartParam: IfcCurveMeasureSelect | null;
        EndParam: IfcCurveMeasureSelect | null;
        ReferenceSurface: (Handle<IfcSurface> | IfcSurface);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Directrix: (Handle<IfcCurve> | IfcCurve), StartParam: IfcCurveMeasureSelect | null, EndParam: IfcCurveMeasureSelect | null, ReferenceSurface: (Handle<IfcSurface> | IfcSurface));
    }
    class IfcSurfaceOfLinearExtrusion extends IfcSweptSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        ExtrudedDirection: (Handle<IfcDirection> | IfcDirection);
        Depth: IfcLengthMeasure;
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, ExtrudedDirection: (Handle<IfcDirection> | IfcDirection), Depth: IfcLengthMeasure);
    }
    class IfcSurfaceOfRevolution extends IfcSweptSurface {
        SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        AxisPosition: (Handle<IfcAxis1Placement> | IfcAxis1Placement);
        type: number;
        constructor(SweptCurve: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, AxisPosition: (Handle<IfcAxis1Placement> | IfcAxis1Placement));
    }
    class IfcSystemFurnitureElementType extends IfcFurnishingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSystemFurnitureElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSystemFurnitureElementTypeEnum | null);
    }
    class IfcTask extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Status: IfcLabel | null;
        WorkMethod: IfcLabel | null;
        IsMilestone: IfcBoolean;
        Priority: IfcInteger | null;
        TaskTime: (Handle<IfcTaskTime> | IfcTaskTime) | null;
        PredefinedType: IfcTaskTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Status: IfcLabel | null, WorkMethod: IfcLabel | null, IsMilestone: IfcBoolean, Priority: IfcInteger | null, TaskTime: (Handle<IfcTaskTime> | IfcTaskTime) | null, PredefinedType: IfcTaskTypeEnum | null);
    }
    class IfcTaskType extends IfcTypeProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ProcessType: IfcLabel | null;
        PredefinedType: IfcTaskTypeEnum;
        WorkMethod: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ProcessType: IfcLabel | null, PredefinedType: IfcTaskTypeEnum, WorkMethod: IfcLabel | null);
    }
    class IfcTessellatedFaceSet extends IfcTessellatedItem {
        Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D);
        Closed: IfcBoolean | null;
        type: number;
        HasColours: (Handle<IfcIndexedColourMap> | IfcIndexedColourMap)[] | null;
        HasTextures: (Handle<IfcIndexedTextureMap> | IfcIndexedTextureMap)[] | null;
        constructor(Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D), Closed: IfcBoolean | null);
    }
    class IfcThirdOrderPolynomialSpiral extends IfcSpiral {
        Position: IfcAxis2Placement | null;
        CubicTerm: IfcLengthMeasure;
        QuadraticTerm: IfcLengthMeasure | null;
        LinearTerm: IfcLengthMeasure | null;
        ConstantTerm: IfcLengthMeasure | null;
        type: number;
        constructor(Position: IfcAxis2Placement | null, CubicTerm: IfcLengthMeasure, QuadraticTerm: IfcLengthMeasure | null, LinearTerm: IfcLengthMeasure | null, ConstantTerm: IfcLengthMeasure | null);
    }
    class IfcToroidalSurface extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        MajorRadius: IfcPositiveLengthMeasure;
        MinorRadius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), MajorRadius: IfcPositiveLengthMeasure, MinorRadius: IfcPositiveLengthMeasure);
    }
    class IfcTransportationDeviceType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcTriangulatedFaceSet extends IfcTessellatedFaceSet {
        Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D);
        Closed: IfcBoolean | null;
        Normals: IfcParameterValue[][] | null;
        CoordIndex: IfcPositiveInteger[][];
        PnIndex: IfcPositiveInteger[] | null;
        type: number;
        constructor(Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D), Closed: IfcBoolean | null, Normals: IfcParameterValue[][] | null, CoordIndex: IfcPositiveInteger[][], PnIndex: IfcPositiveInteger[] | null);
    }
    class IfcTriangulatedIrregularNetwork extends IfcTriangulatedFaceSet {
        Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D);
        Closed: IfcBoolean | null;
        Normals: IfcParameterValue[][] | null;
        CoordIndex: IfcPositiveInteger[][];
        PnIndex: IfcPositiveInteger[] | null;
        Flags: IfcInteger[];
        type: number;
        constructor(Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D), Closed: IfcBoolean | null, Normals: IfcParameterValue[][] | null, CoordIndex: IfcPositiveInteger[][], PnIndex: IfcPositiveInteger[] | null, Flags: IfcInteger[]);
    }
    class IfcVehicleType extends IfcTransportationDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcVehicleTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcVehicleTypeEnum);
    }
    class IfcWindowLiningProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        LiningDepth: IfcPositiveLengthMeasure | null;
        LiningThickness: IfcNonNegativeLengthMeasure | null;
        TransomThickness: IfcNonNegativeLengthMeasure | null;
        MullionThickness: IfcNonNegativeLengthMeasure | null;
        FirstTransomOffset: IfcNormalisedRatioMeasure | null;
        SecondTransomOffset: IfcNormalisedRatioMeasure | null;
        FirstMullionOffset: IfcNormalisedRatioMeasure | null;
        SecondMullionOffset: IfcNormalisedRatioMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        LiningOffset: IfcLengthMeasure | null;
        LiningToPanelOffsetX: IfcLengthMeasure | null;
        LiningToPanelOffsetY: IfcLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, LiningDepth: IfcPositiveLengthMeasure | null, LiningThickness: IfcNonNegativeLengthMeasure | null, TransomThickness: IfcNonNegativeLengthMeasure | null, MullionThickness: IfcNonNegativeLengthMeasure | null, FirstTransomOffset: IfcNormalisedRatioMeasure | null, SecondTransomOffset: IfcNormalisedRatioMeasure | null, FirstMullionOffset: IfcNormalisedRatioMeasure | null, SecondMullionOffset: IfcNormalisedRatioMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null, LiningOffset: IfcLengthMeasure | null, LiningToPanelOffsetX: IfcLengthMeasure | null, LiningToPanelOffsetY: IfcLengthMeasure | null);
    }
    class IfcWindowPanelProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        OperationType: IfcWindowPanelOperationEnum;
        PanelPosition: IfcWindowPanelPositionEnum;
        FrameDepth: IfcPositiveLengthMeasure | null;
        FrameThickness: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, OperationType: IfcWindowPanelOperationEnum, PanelPosition: IfcWindowPanelPositionEnum, FrameDepth: IfcPositiveLengthMeasure | null, FrameThickness: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcActor extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheActor: IfcActorSelect;
        type: number;
        IsActingUpon: (Handle<IfcRelAssignsToActor> | IfcRelAssignsToActor)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheActor: IfcActorSelect);
    }
    class IfcAdvancedBrep extends IfcManifoldSolidBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcAdvancedBrepWithVoids extends IfcAdvancedBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        Voids: (Handle<IfcClosedShell> | IfcClosedShell)[];
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell), Voids: (Handle<IfcClosedShell> | IfcClosedShell)[]);
    }
    class IfcAnnotation extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcAnnotationTypeEnum | null;
        type: number;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcAnnotationTypeEnum | null);
    }
    class IfcBSplineSurface extends IfcBoundedSurface {
        UDegree: IfcInteger;
        VDegree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][];
        SurfaceForm: IfcBSplineSurfaceForm;
        UClosed: IfcLogical;
        VClosed: IfcLogical;
        SelfIntersect: IfcLogical;
        type: number;
        constructor(UDegree: IfcInteger, VDegree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][], SurfaceForm: IfcBSplineSurfaceForm, UClosed: IfcLogical, VClosed: IfcLogical, SelfIntersect: IfcLogical);
    }
    class IfcBSplineSurfaceWithKnots extends IfcBSplineSurface {
        UDegree: IfcInteger;
        VDegree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][];
        SurfaceForm: IfcBSplineSurfaceForm;
        UClosed: IfcLogical;
        VClosed: IfcLogical;
        SelfIntersect: IfcLogical;
        UMultiplicities: IfcInteger[];
        VMultiplicities: IfcInteger[];
        UKnots: IfcParameterValue[];
        VKnots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        type: number;
        constructor(UDegree: IfcInteger, VDegree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][], SurfaceForm: IfcBSplineSurfaceForm, UClosed: IfcLogical, VClosed: IfcLogical, SelfIntersect: IfcLogical, UMultiplicities: IfcInteger[], VMultiplicities: IfcInteger[], UKnots: IfcParameterValue[], VKnots: IfcParameterValue[], KnotSpec: IfcKnotType);
    }
    class IfcBlock extends IfcCsgPrimitive3D {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        XLength: IfcPositiveLengthMeasure;
        YLength: IfcPositiveLengthMeasure;
        ZLength: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), XLength: IfcPositiveLengthMeasure, YLength: IfcPositiveLengthMeasure, ZLength: IfcPositiveLengthMeasure);
    }
    class IfcBooleanClippingResult extends IfcBooleanResult {
        Operator: IfcBooleanOperator;
        FirstOperand: IfcBooleanOperand;
        SecondOperand: IfcBooleanOperand;
        type: number;
        constructor(Operator: IfcBooleanOperator, FirstOperand: IfcBooleanOperand, SecondOperand: IfcBooleanOperand);
    }
    class IfcBoundedCurve extends IfcCurve {
        type: number;
        constructor();
    }
    class IfcBuildingStorey extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        Elevation: IfcLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, Elevation: IfcLengthMeasure | null);
    }
    class IfcBuiltElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcChimneyType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcChimneyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcChimneyTypeEnum);
    }
    class IfcCircleHollowProfileDef extends IfcCircleProfileDef {
        ProfileType: IfcProfileTypeEnum;
        ProfileName: IfcLabel | null;
        Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null;
        Radius: IfcPositiveLengthMeasure;
        WallThickness: IfcPositiveLengthMeasure;
        type: number;
        constructor(ProfileType: IfcProfileTypeEnum, ProfileName: IfcLabel | null, Position: (Handle<IfcAxis2Placement2D> | IfcAxis2Placement2D) | null, Radius: IfcPositiveLengthMeasure, WallThickness: IfcPositiveLengthMeasure);
    }
    class IfcCivilElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcClothoid extends IfcSpiral {
        Position: IfcAxis2Placement | null;
        ClothoidConstant: IfcLengthMeasure;
        type: number;
        constructor(Position: IfcAxis2Placement | null, ClothoidConstant: IfcLengthMeasure);
    }
    class IfcColumnType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcColumnTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcColumnTypeEnum);
    }
    class IfcComplexPropertyTemplate extends IfcPropertyTemplate {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        UsageName: IfcLabel | null;
        TemplateType: IfcComplexPropertyTemplateTypeEnum | null;
        HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, UsageName: IfcLabel | null, TemplateType: IfcComplexPropertyTemplateTypeEnum | null, HasPropertyTemplates: (Handle<IfcPropertyTemplate> | IfcPropertyTemplate)[] | null);
    }
    class IfcCompositeCurve extends IfcBoundedCurve {
        Segments: (Handle<IfcSegment> | IfcSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcSegment> | IfcSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcCompositeCurveOnSurface extends IfcCompositeCurve {
        Segments: (Handle<IfcSegment> | IfcSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcSegment> | IfcSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcConic extends IfcCurve {
        Position: IfcAxis2Placement;
        type: number;
        constructor(Position: IfcAxis2Placement);
    }
    class IfcConstructionEquipmentResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionEquipmentResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionEquipmentResourceTypeEnum);
    }
    class IfcConstructionMaterialResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionMaterialResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionMaterialResourceTypeEnum);
    }
    class IfcConstructionProductResourceType extends IfcConstructionResourceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        ResourceType: IfcLabel | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionProductResourceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, ResourceType: IfcLabel | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionProductResourceTypeEnum);
    }
    class IfcConstructionResource extends IfcResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null);
    }
    class IfcControl extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        type: number;
        Controls: (Handle<IfcRelAssignsToControl> | IfcRelAssignsToControl)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null);
    }
    class IfcCosineSpiral extends IfcSpiral {
        Position: IfcAxis2Placement | null;
        CosineTerm: IfcLengthMeasure;
        ConstantTerm: IfcLengthMeasure | null;
        type: number;
        constructor(Position: IfcAxis2Placement | null, CosineTerm: IfcLengthMeasure, ConstantTerm: IfcLengthMeasure | null);
    }
    class IfcCostItem extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcCostItemTypeEnum | null;
        CostValues: (Handle<IfcCostValue> | IfcCostValue)[] | null;
        CostQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcCostItemTypeEnum | null, CostValues: (Handle<IfcCostValue> | IfcCostValue)[] | null, CostQuantities: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity)[] | null);
    }
    class IfcCostSchedule extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcCostScheduleTypeEnum | null;
        Status: IfcLabel | null;
        SubmittedOn: IfcDateTime | null;
        UpdateDate: IfcDateTime | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcCostScheduleTypeEnum | null, Status: IfcLabel | null, SubmittedOn: IfcDateTime | null, UpdateDate: IfcDateTime | null);
    }
    class IfcCourseType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCourseTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCourseTypeEnum);
    }
    class IfcCoveringType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoveringTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoveringTypeEnum);
    }
    class IfcCrewResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcCrewResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcCrewResourceTypeEnum | null);
    }
    class IfcCurtainWallType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCurtainWallTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCurtainWallTypeEnum);
    }
    class IfcCylindricalSurface extends IfcElementarySurface {
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D);
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D), Radius: IfcPositiveLengthMeasure);
    }
    class IfcDeepFoundationType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDirectrixDerivedReferenceSweptAreaSolid extends IfcFixedReferenceSweptAreaSolid {
        SweptArea: (Handle<IfcProfileDef> | IfcProfileDef);
        Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        Directrix: (Handle<IfcCurve> | IfcCurve);
        StartParam: IfcCurveMeasureSelect | null;
        EndParam: IfcCurveMeasureSelect | null;
        FixedReference: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(SweptArea: (Handle<IfcProfileDef> | IfcProfileDef), Position: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, Directrix: (Handle<IfcCurve> | IfcCurve), StartParam: IfcCurveMeasureSelect | null, EndParam: IfcCurveMeasureSelect | null, FixedReference: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcDistributionElementType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDistributionFlowElementType extends IfcDistributionElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDoorLiningProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        LiningDepth: IfcPositiveLengthMeasure | null;
        LiningThickness: IfcNonNegativeLengthMeasure | null;
        ThresholdDepth: IfcPositiveLengthMeasure | null;
        ThresholdThickness: IfcNonNegativeLengthMeasure | null;
        TransomThickness: IfcNonNegativeLengthMeasure | null;
        TransomOffset: IfcLengthMeasure | null;
        LiningOffset: IfcLengthMeasure | null;
        ThresholdOffset: IfcLengthMeasure | null;
        CasingThickness: IfcPositiveLengthMeasure | null;
        CasingDepth: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        LiningToPanelOffsetX: IfcLengthMeasure | null;
        LiningToPanelOffsetY: IfcLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, LiningDepth: IfcPositiveLengthMeasure | null, LiningThickness: IfcNonNegativeLengthMeasure | null, ThresholdDepth: IfcPositiveLengthMeasure | null, ThresholdThickness: IfcNonNegativeLengthMeasure | null, TransomThickness: IfcNonNegativeLengthMeasure | null, TransomOffset: IfcLengthMeasure | null, LiningOffset: IfcLengthMeasure | null, ThresholdOffset: IfcLengthMeasure | null, CasingThickness: IfcPositiveLengthMeasure | null, CasingDepth: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null, LiningToPanelOffsetX: IfcLengthMeasure | null, LiningToPanelOffsetY: IfcLengthMeasure | null);
    }
    class IfcDoorPanelProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        PanelDepth: IfcPositiveLengthMeasure | null;
        PanelOperation: IfcDoorPanelOperationEnum;
        PanelWidth: IfcNormalisedRatioMeasure | null;
        PanelPosition: IfcDoorPanelPositionEnum;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, PanelDepth: IfcPositiveLengthMeasure | null, PanelOperation: IfcDoorPanelOperationEnum, PanelWidth: IfcNormalisedRatioMeasure | null, PanelPosition: IfcDoorPanelPositionEnum, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcDoorType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDoorTypeEnum;
        OperationType: IfcDoorTypeOperationEnum;
        ParameterTakesPrecedence: IfcBoolean | null;
        UserDefinedOperationType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDoorTypeEnum, OperationType: IfcDoorTypeOperationEnum, ParameterTakesPrecedence: IfcBoolean | null, UserDefinedOperationType: IfcLabel | null);
    }
    class IfcDraughtingPreDefinedColour extends IfcPreDefinedColour {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcDraughtingPreDefinedCurveFont extends IfcPreDefinedCurveFont {
        Name: IfcLabel;
        type: number;
        constructor(Name: IfcLabel);
    }
    class IfcElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        FillsVoids: (Handle<IfcRelFillsElement> | IfcRelFillsElement)[] | null;
        ConnectedTo: (Handle<IfcRelConnectsElements> | IfcRelConnectsElements)[] | null;
        IsInterferedByElements: (Handle<IfcRelInterferesElements> | IfcRelInterferesElements)[] | null;
        InterferesElements: (Handle<IfcRelInterferesElements> | IfcRelInterferesElements)[] | null;
        HasProjections: (Handle<IfcRelProjectsElement> | IfcRelProjectsElement)[] | null;
        HasOpenings: (Handle<IfcRelVoidsElement> | IfcRelVoidsElement)[] | null;
        IsConnectionRealization: (Handle<IfcRelConnectsWithRealizingElements> | IfcRelConnectsWithRealizingElements)[] | null;
        ProvidesBoundaries: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        ConnectedFrom: (Handle<IfcRelConnectsElements> | IfcRelConnectsElements)[] | null;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        HasCoverings: (Handle<IfcRelCoversBldgElements> | IfcRelCoversBldgElements)[] | null;
        HasSurfaceFeatures: (Handle<IfcRelAdheresToElement> | IfcRelAdheresToElement)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcElementAssembly extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        AssemblyPlace: IfcAssemblyPlaceEnum | null;
        PredefinedType: IfcElementAssemblyTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, AssemblyPlace: IfcAssemblyPlaceEnum | null, PredefinedType: IfcElementAssemblyTypeEnum | null);
    }
    class IfcElementAssemblyType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElementAssemblyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElementAssemblyTypeEnum);
    }
    class IfcElementComponent extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcElementComponentType extends IfcElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcEllipse extends IfcConic {
        Position: IfcAxis2Placement;
        SemiAxis1: IfcPositiveLengthMeasure;
        SemiAxis2: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: IfcAxis2Placement, SemiAxis1: IfcPositiveLengthMeasure, SemiAxis2: IfcPositiveLengthMeasure);
    }
    class IfcEnergyConversionDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcEngineType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEngineTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEngineTypeEnum);
    }
    class IfcEvaporativeCoolerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEvaporativeCoolerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEvaporativeCoolerTypeEnum);
    }
    class IfcEvaporatorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcEvaporatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcEvaporatorTypeEnum);
    }
    class IfcEvent extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        PredefinedType: IfcEventTypeEnum | null;
        EventTriggerType: IfcEventTriggerTypeEnum | null;
        UserDefinedEventTriggerType: IfcLabel | null;
        EventOccurenceTime: (Handle<IfcEventTime> | IfcEventTime) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, PredefinedType: IfcEventTypeEnum | null, EventTriggerType: IfcEventTriggerTypeEnum | null, UserDefinedEventTriggerType: IfcLabel | null, EventOccurenceTime: (Handle<IfcEventTime> | IfcEventTime) | null);
    }
    class IfcExternalSpatialStructureElement extends IfcSpatialElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null);
    }
    class IfcFacetedBrep extends IfcManifoldSolidBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell));
    }
    class IfcFacetedBrepWithVoids extends IfcFacetedBrep {
        Outer: (Handle<IfcClosedShell> | IfcClosedShell);
        Voids: (Handle<IfcClosedShell> | IfcClosedShell)[];
        type: number;
        constructor(Outer: (Handle<IfcClosedShell> | IfcClosedShell), Voids: (Handle<IfcClosedShell> | IfcClosedShell)[]);
    }
    class IfcFacility extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null);
    }
    class IfcFacilityPart extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        UsageType: IfcFacilityUsageEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, UsageType: IfcFacilityUsageEnum);
    }
    class IfcFacilityPartCommon extends IfcFacilityPart {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        UsageType: IfcFacilityUsageEnum;
        PredefinedType: IfcFacilityPartCommonTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, UsageType: IfcFacilityUsageEnum, PredefinedType: IfcFacilityPartCommonTypeEnum | null);
    }
    class IfcFastener extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFastenerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFastenerTypeEnum | null);
    }
    class IfcFastenerType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFastenerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFastenerTypeEnum);
    }
    class IfcFeatureElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFeatureElementAddition extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        ProjectsElements: (Handle<IfcRelProjectsElement> | IfcRelProjectsElement) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFeatureElementSubtraction extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        VoidsElements: (Handle<IfcRelVoidsElement> | IfcRelVoidsElement) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowControllerType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowFittingType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowMeterType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFlowMeterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFlowMeterTypeEnum);
    }
    class IfcFlowMovingDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowSegmentType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowStorageDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowTerminalType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFlowTreatmentDeviceType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcFootingType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFootingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFootingTypeEnum);
    }
    class IfcFurnishingElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFurniture extends IfcFurnishingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFurnitureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFurnitureTypeEnum | null);
    }
    class IfcGeographicElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcGeographicElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcGeographicElementTypeEnum | null);
    }
    class IfcGeotechnicalElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcGeotechnicalStratum extends IfcGeotechnicalElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcGeotechnicalStratumTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcGeotechnicalStratumTypeEnum | null);
    }
    class IfcGradientCurve extends IfcCompositeCurve {
        Segments: (Handle<IfcSegment> | IfcSegment)[];
        SelfIntersect: IfcLogical;
        BaseCurve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        EndPoint: (Handle<IfcPlacement> | IfcPlacement) | null;
        type: number;
        constructor(Segments: (Handle<IfcSegment> | IfcSegment)[], SelfIntersect: IfcLogical, BaseCurve: (Handle<IfcBoundedCurve> | IfcBoundedCurve), EndPoint: (Handle<IfcPlacement> | IfcPlacement) | null);
    }
    class IfcGroup extends IfcObject {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        IsGroupedBy: (Handle<IfcRelAssignsToGroup> | IfcRelAssignsToGroup)[] | null;
        ReferencedInStructures: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcHeatExchangerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcHeatExchangerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcHeatExchangerTypeEnum);
    }
    class IfcHumidifierType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcHumidifierTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcHumidifierTypeEnum);
    }
    class IfcImpactProtectionDevice extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcImpactProtectionDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcImpactProtectionDeviceTypeEnum | null);
    }
    class IfcImpactProtectionDeviceType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcImpactProtectionDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcImpactProtectionDeviceTypeEnum);
    }
    class IfcIndexedPolyCurve extends IfcBoundedCurve {
        Points: (Handle<IfcCartesianPointList> | IfcCartesianPointList);
        Segments: IfcSegmentIndexSelect[] | null;
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Points: (Handle<IfcCartesianPointList> | IfcCartesianPointList), Segments: IfcSegmentIndexSelect[] | null, SelfIntersect: IfcLogical);
    }
    class IfcInterceptorType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcInterceptorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcInterceptorTypeEnum);
    }
    class IfcIntersectionCurve extends IfcSurfaceCurve {
        Curve3D: (Handle<IfcCurve> | IfcCurve);
        AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[];
        MasterRepresentation: IfcPreferredSurfaceCurveRepresentation;
        type: number;
        constructor(Curve3D: (Handle<IfcCurve> | IfcCurve), AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[], MasterRepresentation: IfcPreferredSurfaceCurveRepresentation);
    }
    class IfcInventory extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcInventoryTypeEnum | null;
        Jurisdiction: IfcActorSelect | null;
        ResponsiblePersons: (Handle<IfcPerson> | IfcPerson)[] | null;
        LastUpdateDate: IfcDate | null;
        CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcInventoryTypeEnum | null, Jurisdiction: IfcActorSelect | null, ResponsiblePersons: (Handle<IfcPerson> | IfcPerson)[] | null, LastUpdateDate: IfcDate | null, CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null, OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null);
    }
    class IfcJunctionBoxType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcJunctionBoxTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcJunctionBoxTypeEnum);
    }
    class IfcKerbType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        Mountable: IfcBoolean;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, Mountable: IfcBoolean);
    }
    class IfcLaborResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcLaborResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcLaborResourceTypeEnum | null);
    }
    class IfcLampType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcLampTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcLampTypeEnum);
    }
    class IfcLightFixtureType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcLightFixtureTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcLightFixtureTypeEnum);
    }
    class IfcLinearElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcLiquidTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcLiquidTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcLiquidTerminalTypeEnum);
    }
    class IfcMarineFacility extends IfcFacility {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        PredefinedType: IfcMarineFacilityTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, PredefinedType: IfcMarineFacilityTypeEnum | null);
    }
    class IfcMarinePart extends IfcFacilityPart {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        UsageType: IfcFacilityUsageEnum;
        PredefinedType: IfcMarinePartTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, UsageType: IfcFacilityUsageEnum, PredefinedType: IfcMarinePartTypeEnum | null);
    }
    class IfcMechanicalFastener extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        NominalLength: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcMechanicalFastenerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, NominalDiameter: IfcPositiveLengthMeasure | null, NominalLength: IfcPositiveLengthMeasure | null, PredefinedType: IfcMechanicalFastenerTypeEnum | null);
    }
    class IfcMechanicalFastenerType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMechanicalFastenerTypeEnum;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        NominalLength: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMechanicalFastenerTypeEnum, NominalDiameter: IfcPositiveLengthMeasure | null, NominalLength: IfcPositiveLengthMeasure | null);
    }
    class IfcMedicalDeviceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMedicalDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMedicalDeviceTypeEnum);
    }
    class IfcMemberType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMemberTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMemberTypeEnum);
    }
    class IfcMobileTelecommunicationsApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMobileTelecommunicationsApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMobileTelecommunicationsApplianceTypeEnum);
    }
    class IfcMooringDeviceType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMooringDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMooringDeviceTypeEnum);
    }
    class IfcMotorConnectionType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcMotorConnectionTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcMotorConnectionTypeEnum);
    }
    class IfcNavigationElementType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcNavigationElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcNavigationElementTypeEnum);
    }
    class IfcOccupant extends IfcActor {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheActor: IfcActorSelect;
        PredefinedType: IfcOccupantTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheActor: IfcActorSelect, PredefinedType: IfcOccupantTypeEnum | null);
    }
    class IfcOpeningElement extends IfcFeatureElementSubtraction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcOpeningElementTypeEnum | null;
        type: number;
        HasFillings: (Handle<IfcRelFillsElement> | IfcRelFillsElement)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcOpeningElementTypeEnum | null);
    }
    class IfcOutletType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcOutletTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcOutletTypeEnum);
    }
    class IfcPavementType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPavementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPavementTypeEnum);
    }
    class IfcPerformanceHistory extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LifeCyclePhase: IfcLabel;
        PredefinedType: IfcPerformanceHistoryTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LifeCyclePhase: IfcLabel, PredefinedType: IfcPerformanceHistoryTypeEnum | null);
    }
    class IfcPermeableCoveringProperties extends IfcPreDefinedPropertySet {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        OperationType: IfcPermeableCoveringOperationEnum;
        PanelPosition: IfcWindowPanelPositionEnum;
        FrameDepth: IfcPositiveLengthMeasure | null;
        FrameThickness: IfcPositiveLengthMeasure | null;
        ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, OperationType: IfcPermeableCoveringOperationEnum, PanelPosition: IfcWindowPanelPositionEnum, FrameDepth: IfcPositiveLengthMeasure | null, FrameThickness: IfcPositiveLengthMeasure | null, ShapeAspectStyle: (Handle<IfcShapeAspect> | IfcShapeAspect) | null);
    }
    class IfcPermit extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcPermitTypeEnum | null;
        Status: IfcLabel | null;
        LongDescription: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcPermitTypeEnum | null, Status: IfcLabel | null, LongDescription: IfcText | null);
    }
    class IfcPileType extends IfcDeepFoundationType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPileTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPileTypeEnum);
    }
    class IfcPipeFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPipeFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPipeFittingTypeEnum);
    }
    class IfcPipeSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPipeSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPipeSegmentTypeEnum);
    }
    class IfcPlateType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPlateTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPlateTypeEnum);
    }
    class IfcPolygonalFaceSet extends IfcTessellatedFaceSet {
        Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D);
        Closed: IfcBoolean | null;
        Faces: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace)[];
        PnIndex: IfcPositiveInteger[] | null;
        type: number;
        constructor(Coordinates: (Handle<IfcCartesianPointList3D> | IfcCartesianPointList3D), Closed: IfcBoolean | null, Faces: (Handle<IfcIndexedPolygonalFace> | IfcIndexedPolygonalFace)[], PnIndex: IfcPositiveInteger[] | null);
    }
    class IfcPolyline extends IfcBoundedCurve {
        Points: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        type: number;
        constructor(Points: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[]);
    }
    class IfcPort extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ContainedIn: (Handle<IfcRelConnectsPortToElement> | IfcRelConnectsPortToElement)[] | null;
        ConnectedFrom: (Handle<IfcRelConnectsPorts> | IfcRelConnectsPorts)[] | null;
        ConnectedTo: (Handle<IfcRelConnectsPorts> | IfcRelConnectsPorts)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcPositioningElement extends IfcProduct {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        ContainedInStructure: (Handle<IfcRelContainedInSpatialStructure> | IfcRelContainedInSpatialStructure)[] | null;
        Positions: (Handle<IfcRelPositions> | IfcRelPositions)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcProcedure extends IfcProcess {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        PredefinedType: IfcProcedureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, PredefinedType: IfcProcedureTypeEnum | null);
    }
    class IfcProjectOrder extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcProjectOrderTypeEnum | null;
        Status: IfcLabel | null;
        LongDescription: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcProjectOrderTypeEnum | null, Status: IfcLabel | null, LongDescription: IfcText | null);
    }
    class IfcProjectionElement extends IfcFeatureElementAddition {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcProjectionElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcProjectionElementTypeEnum | null);
    }
    class IfcProtectiveDeviceType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcProtectiveDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcProtectiveDeviceTypeEnum);
    }
    class IfcPumpType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcPumpTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcPumpTypeEnum);
    }
    class IfcRailType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRailTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRailTypeEnum);
    }
    class IfcRailingType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRailingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRailingTypeEnum);
    }
    class IfcRailway extends IfcFacility {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        PredefinedType: IfcRailwayTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, PredefinedType: IfcRailwayTypeEnum | null);
    }
    class IfcRailwayPart extends IfcFacilityPart {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        UsageType: IfcFacilityUsageEnum;
        PredefinedType: IfcRailwayPartTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, UsageType: IfcFacilityUsageEnum, PredefinedType: IfcRailwayPartTypeEnum | null);
    }
    class IfcRampFlightType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRampFlightTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRampFlightTypeEnum);
    }
    class IfcRampType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRampTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRampTypeEnum);
    }
    class IfcRationalBSplineSurfaceWithKnots extends IfcBSplineSurfaceWithKnots {
        UDegree: IfcInteger;
        VDegree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][];
        SurfaceForm: IfcBSplineSurfaceForm;
        UClosed: IfcLogical;
        VClosed: IfcLogical;
        SelfIntersect: IfcLogical;
        UMultiplicities: IfcInteger[];
        VMultiplicities: IfcInteger[];
        UKnots: IfcParameterValue[];
        VKnots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        WeightsData: IfcReal[][];
        type: number;
        constructor(UDegree: IfcInteger, VDegree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[][], SurfaceForm: IfcBSplineSurfaceForm, UClosed: IfcLogical, VClosed: IfcLogical, SelfIntersect: IfcLogical, UMultiplicities: IfcInteger[], VMultiplicities: IfcInteger[], UKnots: IfcParameterValue[], VKnots: IfcParameterValue[], KnotSpec: IfcKnotType, WeightsData: IfcReal[][]);
    }
    class IfcReferent extends IfcPositioningElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcReferentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcReferentTypeEnum | null);
    }
    class IfcReinforcingElement extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null);
    }
    class IfcReinforcingElementType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcReinforcingMesh extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        MeshLength: IfcPositiveLengthMeasure | null;
        MeshWidth: IfcPositiveLengthMeasure | null;
        LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null;
        TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null;
        LongitudinalBarCrossSectionArea: IfcAreaMeasure | null;
        TransverseBarCrossSectionArea: IfcAreaMeasure | null;
        LongitudinalBarSpacing: IfcPositiveLengthMeasure | null;
        TransverseBarSpacing: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcReinforcingMeshTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, MeshLength: IfcPositiveLengthMeasure | null, MeshWidth: IfcPositiveLengthMeasure | null, LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null, TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null, LongitudinalBarCrossSectionArea: IfcAreaMeasure | null, TransverseBarCrossSectionArea: IfcAreaMeasure | null, LongitudinalBarSpacing: IfcPositiveLengthMeasure | null, TransverseBarSpacing: IfcPositiveLengthMeasure | null, PredefinedType: IfcReinforcingMeshTypeEnum | null);
    }
    class IfcReinforcingMeshType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcReinforcingMeshTypeEnum;
        MeshLength: IfcPositiveLengthMeasure | null;
        MeshWidth: IfcPositiveLengthMeasure | null;
        LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null;
        TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null;
        LongitudinalBarCrossSectionArea: IfcAreaMeasure | null;
        TransverseBarCrossSectionArea: IfcAreaMeasure | null;
        LongitudinalBarSpacing: IfcPositiveLengthMeasure | null;
        TransverseBarSpacing: IfcPositiveLengthMeasure | null;
        BendingShapeCode: IfcLabel | null;
        BendingParameters: IfcBendingParameterSelect[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcReinforcingMeshTypeEnum, MeshLength: IfcPositiveLengthMeasure | null, MeshWidth: IfcPositiveLengthMeasure | null, LongitudinalBarNominalDiameter: IfcPositiveLengthMeasure | null, TransverseBarNominalDiameter: IfcPositiveLengthMeasure | null, LongitudinalBarCrossSectionArea: IfcAreaMeasure | null, TransverseBarCrossSectionArea: IfcAreaMeasure | null, LongitudinalBarSpacing: IfcPositiveLengthMeasure | null, TransverseBarSpacing: IfcPositiveLengthMeasure | null, BendingShapeCode: IfcLabel | null, BendingParameters: IfcBendingParameterSelect[] | null);
    }
    class IfcRelAdheresToElement extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingElement: (Handle<IfcElement> | IfcElement);
        RelatedSurfaceFeatures: (Handle<IfcSurfaceFeature> | IfcSurfaceFeature)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingElement: (Handle<IfcElement> | IfcElement), RelatedSurfaceFeatures: (Handle<IfcSurfaceFeature> | IfcSurfaceFeature)[]);
    }
    class IfcRelAggregates extends IfcRelDecomposes {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition);
        RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[];
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, RelatingObject: (Handle<IfcObjectDefinition> | IfcObjectDefinition), RelatedObjects: (Handle<IfcObjectDefinition> | IfcObjectDefinition)[]);
    }
    class IfcRoad extends IfcFacility {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        PredefinedType: IfcRoadTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, PredefinedType: IfcRoadTypeEnum | null);
    }
    class IfcRoadPart extends IfcFacilityPart {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        UsageType: IfcFacilityUsageEnum;
        PredefinedType: IfcRoadPartTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, UsageType: IfcFacilityUsageEnum, PredefinedType: IfcRoadPartTypeEnum | null);
    }
    class IfcRoofType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcRoofTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcRoofTypeEnum);
    }
    class IfcSanitaryTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSanitaryTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSanitaryTerminalTypeEnum);
    }
    class IfcSeamCurve extends IfcSurfaceCurve {
        Curve3D: (Handle<IfcCurve> | IfcCurve);
        AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[];
        MasterRepresentation: IfcPreferredSurfaceCurveRepresentation;
        type: number;
        constructor(Curve3D: (Handle<IfcCurve> | IfcCurve), AssociatedGeometry: (Handle<IfcPcurve> | IfcPcurve)[], MasterRepresentation: IfcPreferredSurfaceCurveRepresentation);
    }
    class IfcSecondOrderPolynomialSpiral extends IfcSpiral {
        Position: IfcAxis2Placement | null;
        QuadraticTerm: IfcLengthMeasure;
        LinearTerm: IfcLengthMeasure | null;
        ConstantTerm: IfcLengthMeasure | null;
        type: number;
        constructor(Position: IfcAxis2Placement | null, QuadraticTerm: IfcLengthMeasure, LinearTerm: IfcLengthMeasure | null, ConstantTerm: IfcLengthMeasure | null);
    }
    class IfcSegmentedReferenceCurve extends IfcCompositeCurve {
        Segments: (Handle<IfcSegment> | IfcSegment)[];
        SelfIntersect: IfcLogical;
        BaseCurve: (Handle<IfcBoundedCurve> | IfcBoundedCurve);
        EndPoint: (Handle<IfcPlacement> | IfcPlacement) | null;
        type: number;
        constructor(Segments: (Handle<IfcSegment> | IfcSegment)[], SelfIntersect: IfcLogical, BaseCurve: (Handle<IfcBoundedCurve> | IfcBoundedCurve), EndPoint: (Handle<IfcPlacement> | IfcPlacement) | null);
    }
    class IfcSeventhOrderPolynomialSpiral extends IfcSpiral {
        Position: IfcAxis2Placement | null;
        SepticTerm: IfcLengthMeasure;
        SexticTerm: IfcLengthMeasure | null;
        QuinticTerm: IfcLengthMeasure | null;
        QuarticTerm: IfcLengthMeasure | null;
        CubicTerm: IfcLengthMeasure | null;
        QuadraticTerm: IfcLengthMeasure | null;
        LinearTerm: IfcLengthMeasure | null;
        ConstantTerm: IfcLengthMeasure | null;
        type: number;
        constructor(Position: IfcAxis2Placement | null, SepticTerm: IfcLengthMeasure, SexticTerm: IfcLengthMeasure | null, QuinticTerm: IfcLengthMeasure | null, QuarticTerm: IfcLengthMeasure | null, CubicTerm: IfcLengthMeasure | null, QuadraticTerm: IfcLengthMeasure | null, LinearTerm: IfcLengthMeasure | null, ConstantTerm: IfcLengthMeasure | null);
    }
    class IfcShadingDeviceType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcShadingDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcShadingDeviceTypeEnum);
    }
    class IfcSign extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSignTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSignTypeEnum | null);
    }
    class IfcSignType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSignTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSignTypeEnum);
    }
    class IfcSignalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSignalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSignalTypeEnum);
    }
    class IfcSineSpiral extends IfcSpiral {
        Position: IfcAxis2Placement | null;
        SineTerm: IfcLengthMeasure;
        LinearTerm: IfcLengthMeasure | null;
        ConstantTerm: IfcLengthMeasure | null;
        type: number;
        constructor(Position: IfcAxis2Placement | null, SineTerm: IfcLengthMeasure, LinearTerm: IfcLengthMeasure | null, ConstantTerm: IfcLengthMeasure | null);
    }
    class IfcSite extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        RefLatitude: IfcCompoundPlaneAngleMeasure | null;
        RefLongitude: IfcCompoundPlaneAngleMeasure | null;
        RefElevation: IfcLengthMeasure | null;
        LandTitleNumber: IfcLabel | null;
        SiteAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, RefLatitude: IfcCompoundPlaneAngleMeasure | null, RefLongitude: IfcCompoundPlaneAngleMeasure | null, RefElevation: IfcLengthMeasure | null, LandTitleNumber: IfcLabel | null, SiteAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null);
    }
    class IfcSlabType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSlabTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSlabTypeEnum);
    }
    class IfcSolarDeviceType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSolarDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSolarDeviceTypeEnum);
    }
    class IfcSpace extends IfcSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        PredefinedType: IfcSpaceTypeEnum | null;
        ElevationWithFlooring: IfcLengthMeasure | null;
        type: number;
        HasCoverings: (Handle<IfcRelCoversSpaces> | IfcRelCoversSpaces)[] | null;
        BoundedBy: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, PredefinedType: IfcSpaceTypeEnum | null, ElevationWithFlooring: IfcLengthMeasure | null);
    }
    class IfcSpaceHeaterType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpaceHeaterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpaceHeaterTypeEnum);
    }
    class IfcSpaceType extends IfcSpatialStructureElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSpaceTypeEnum;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSpaceTypeEnum, LongName: IfcLabel | null);
    }
    class IfcStackTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStackTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStackTerminalTypeEnum);
    }
    class IfcStairFlightType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStairFlightTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStairFlightTypeEnum);
    }
    class IfcStairType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcStairTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcStairTypeEnum);
    }
    class IfcStructuralAction extends IfcStructuralActivity {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null);
    }
    class IfcStructuralConnection extends IfcStructuralItem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        ConnectsStructuralMembers: (Handle<IfcRelConnectsStructuralMember> | IfcRelConnectsStructuralMember)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcStructuralCurveAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralCurveActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralCurveActivityTypeEnum);
    }
    class IfcStructuralCurveConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        AxisDirection: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, AxisDirection: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcStructuralCurveMember extends IfcStructuralMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralCurveMemberTypeEnum;
        Axis: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralCurveMemberTypeEnum, Axis: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcStructuralCurveMemberVarying extends IfcStructuralCurveMember {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcStructuralCurveMemberTypeEnum;
        Axis: (Handle<IfcDirection> | IfcDirection);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcStructuralCurveMemberTypeEnum, Axis: (Handle<IfcDirection> | IfcDirection));
    }
    class IfcStructuralCurveReaction extends IfcStructuralReaction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        PredefinedType: IfcStructuralCurveActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, PredefinedType: IfcStructuralCurveActivityTypeEnum);
    }
    class IfcStructuralLinearAction extends IfcStructuralCurveAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralCurveActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralCurveActivityTypeEnum);
    }
    class IfcStructuralLoadGroup extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcLoadGroupTypeEnum;
        ActionType: IfcActionTypeEnum;
        ActionSource: IfcActionSourceTypeEnum;
        Coefficient: IfcRatioMeasure | null;
        Purpose: IfcLabel | null;
        type: number;
        SourceOfResultGroup: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null;
        LoadGroupFor: (Handle<IfcStructuralAnalysisModel> | IfcStructuralAnalysisModel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcLoadGroupTypeEnum, ActionType: IfcActionTypeEnum, ActionSource: IfcActionSourceTypeEnum, Coefficient: IfcRatioMeasure | null, Purpose: IfcLabel | null);
    }
    class IfcStructuralPointAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null);
    }
    class IfcStructuralPointConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null, ConditionCoordinateSystem: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null);
    }
    class IfcStructuralPointReaction extends IfcStructuralReaction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum);
    }
    class IfcStructuralResultGroup extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        TheoryType: IfcAnalysisTheoryTypeEnum;
        ResultForLoadGroup: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup) | null;
        IsLinear: IfcBoolean;
        type: number;
        ResultGroupFor: (Handle<IfcStructuralAnalysisModel> | IfcStructuralAnalysisModel)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, TheoryType: IfcAnalysisTheoryTypeEnum, ResultForLoadGroup: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup) | null, IsLinear: IfcBoolean);
    }
    class IfcStructuralSurfaceAction extends IfcStructuralAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralSurfaceActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralSurfaceActivityTypeEnum);
    }
    class IfcStructuralSurfaceConnection extends IfcStructuralConnection {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedCondition: (Handle<IfcBoundaryCondition> | IfcBoundaryCondition) | null);
    }
    class IfcSubContractResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcSubContractResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcSubContractResourceTypeEnum | null);
    }
    class IfcSurfaceFeature extends IfcFeatureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSurfaceFeatureTypeEnum | null;
        type: number;
        AdheresToElement: (Handle<IfcRelAdheresToElement> | IfcRelAdheresToElement) | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSurfaceFeatureTypeEnum | null);
    }
    class IfcSwitchingDeviceType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSwitchingDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSwitchingDeviceTypeEnum);
    }
    class IfcSystem extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        type: number;
        ServicesBuildings: (Handle<IfcRelServicesBuildings> | IfcRelServicesBuildings)[] | null;
        ServicesFacilities: (Handle<IfcRelReferencedInSpatialStructure> | IfcRelReferencedInSpatialStructure)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null);
    }
    class IfcSystemFurnitureElement extends IfcFurnishingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSystemFurnitureElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSystemFurnitureElementTypeEnum | null);
    }
    class IfcTankType extends IfcFlowStorageDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTankTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTankTypeEnum);
    }
    class IfcTendon extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        PredefinedType: IfcTendonTypeEnum | null;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        TensionForce: IfcForceMeasure | null;
        PreStress: IfcPressureMeasure | null;
        FrictionCoefficient: IfcNormalisedRatioMeasure | null;
        AnchorageSlip: IfcPositiveLengthMeasure | null;
        MinCurvatureRadius: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, PredefinedType: IfcTendonTypeEnum | null, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, TensionForce: IfcForceMeasure | null, PreStress: IfcPressureMeasure | null, FrictionCoefficient: IfcNormalisedRatioMeasure | null, AnchorageSlip: IfcPositiveLengthMeasure | null, MinCurvatureRadius: IfcPositiveLengthMeasure | null);
    }
    class IfcTendonAnchor extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        PredefinedType: IfcTendonAnchorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, PredefinedType: IfcTendonAnchorTypeEnum | null);
    }
    class IfcTendonAnchorType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTendonAnchorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTendonAnchorTypeEnum);
    }
    class IfcTendonConduit extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        PredefinedType: IfcTendonConduitTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, PredefinedType: IfcTendonConduitTypeEnum);
    }
    class IfcTendonConduitType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTendonConduitTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTendonConduitTypeEnum);
    }
    class IfcTendonType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTendonTypeEnum;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        SheathDiameter: IfcPositiveLengthMeasure | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTendonTypeEnum, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, SheathDiameter: IfcPositiveLengthMeasure | null);
    }
    class IfcTrackElementType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTrackElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTrackElementTypeEnum);
    }
    class IfcTransformerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTransformerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTransformerTypeEnum);
    }
    class IfcTransportElementType extends IfcTransportationDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTransportElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTransportElementTypeEnum);
    }
    class IfcTransportationDevice extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcTrimmedCurve extends IfcBoundedCurve {
        BasisCurve: (Handle<IfcCurve> | IfcCurve);
        Trim1: IfcTrimmingSelect[];
        Trim2: IfcTrimmingSelect[];
        SenseAgreement: IfcBoolean;
        MasterRepresentation: IfcTrimmingPreference;
        type: number;
        constructor(BasisCurve: (Handle<IfcCurve> | IfcCurve), Trim1: IfcTrimmingSelect[], Trim2: IfcTrimmingSelect[], SenseAgreement: IfcBoolean, MasterRepresentation: IfcTrimmingPreference);
    }
    class IfcTubeBundleType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcTubeBundleTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcTubeBundleTypeEnum);
    }
    class IfcUnitaryEquipmentType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcUnitaryEquipmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcUnitaryEquipmentTypeEnum);
    }
    class IfcValveType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcValveTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcValveTypeEnum);
    }
    class IfcVehicle extends IfcTransportationDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcVehicleTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcVehicleTypeEnum | null);
    }
    class IfcVibrationDamper extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDamperTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDamperTypeEnum | null);
    }
    class IfcVibrationDamperType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcVibrationDamperTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcVibrationDamperTypeEnum);
    }
    class IfcVibrationIsolator extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcVibrationIsolatorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcVibrationIsolatorTypeEnum | null);
    }
    class IfcVibrationIsolatorType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcVibrationIsolatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcVibrationIsolatorTypeEnum);
    }
    class IfcVirtualElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcVirtualElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcVirtualElementTypeEnum | null);
    }
    class IfcVoidingFeature extends IfcFeatureElementSubtraction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcVoidingFeatureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcVoidingFeatureTypeEnum | null);
    }
    class IfcWallType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWallTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWallTypeEnum);
    }
    class IfcWasteTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWasteTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWasteTerminalTypeEnum);
    }
    class IfcWindowType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcWindowTypeEnum;
        PartitioningType: IfcWindowTypePartitioningEnum;
        ParameterTakesPrecedence: IfcBoolean | null;
        UserDefinedPartitioningType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcWindowTypeEnum, PartitioningType: IfcWindowTypePartitioningEnum, ParameterTakesPrecedence: IfcBoolean | null, UserDefinedPartitioningType: IfcLabel | null);
    }
    class IfcWorkCalendar extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        WorkingTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null;
        ExceptionTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null;
        PredefinedType: IfcWorkCalendarTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, WorkingTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null, ExceptionTimes: (Handle<IfcWorkTime> | IfcWorkTime)[] | null, PredefinedType: IfcWorkCalendarTypeEnum | null);
    }
    class IfcWorkControl extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        CreationDate: IfcDateTime;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        StartTime: IfcDateTime;
        FinishTime: IfcDateTime | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, CreationDate: IfcDateTime, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcDuration | null, TotalFloat: IfcDuration | null, StartTime: IfcDateTime, FinishTime: IfcDateTime | null);
    }
    class IfcWorkPlan extends IfcWorkControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        CreationDate: IfcDateTime;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        StartTime: IfcDateTime;
        FinishTime: IfcDateTime | null;
        PredefinedType: IfcWorkPlanTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, CreationDate: IfcDateTime, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcDuration | null, TotalFloat: IfcDuration | null, StartTime: IfcDateTime, FinishTime: IfcDateTime | null, PredefinedType: IfcWorkPlanTypeEnum | null);
    }
    class IfcWorkSchedule extends IfcWorkControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        CreationDate: IfcDateTime;
        Creators: (Handle<IfcPerson> | IfcPerson)[] | null;
        Purpose: IfcLabel | null;
        Duration: IfcDuration | null;
        TotalFloat: IfcDuration | null;
        StartTime: IfcDateTime;
        FinishTime: IfcDateTime | null;
        PredefinedType: IfcWorkScheduleTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, CreationDate: IfcDateTime, Creators: (Handle<IfcPerson> | IfcPerson)[] | null, Purpose: IfcLabel | null, Duration: IfcDuration | null, TotalFloat: IfcDuration | null, StartTime: IfcDateTime, FinishTime: IfcDateTime | null, PredefinedType: IfcWorkScheduleTypeEnum | null);
    }
    class IfcZone extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null);
    }
    class IfcActionRequest extends IfcControl {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        PredefinedType: IfcActionRequestTypeEnum | null;
        Status: IfcLabel | null;
        LongDescription: IfcText | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, PredefinedType: IfcActionRequestTypeEnum | null, Status: IfcLabel | null, LongDescription: IfcText | null);
    }
    class IfcAirTerminalBoxType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirTerminalBoxTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirTerminalBoxTypeEnum);
    }
    class IfcAirTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirTerminalTypeEnum);
    }
    class IfcAirToAirHeatRecoveryType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAirToAirHeatRecoveryTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAirToAirHeatRecoveryTypeEnum);
    }
    class IfcAlignmentCant extends IfcLinearElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        RailHeadDistance: IfcPositiveLengthMeasure;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, RailHeadDistance: IfcPositiveLengthMeasure);
    }
    class IfcAlignmentHorizontal extends IfcLinearElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcAlignmentSegment extends IfcLinearElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        DesignParameters: (Handle<IfcAlignmentParameterSegment> | IfcAlignmentParameterSegment);
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, DesignParameters: (Handle<IfcAlignmentParameterSegment> | IfcAlignmentParameterSegment));
    }
    class IfcAlignmentVertical extends IfcLinearElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcAsset extends IfcGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        TotalReplacementCost: (Handle<IfcCostValue> | IfcCostValue) | null;
        Owner: IfcActorSelect | null;
        User: IfcActorSelect | null;
        ResponsiblePerson: (Handle<IfcPerson> | IfcPerson) | null;
        IncorporationDate: IfcDate | null;
        DepreciatedValue: (Handle<IfcCostValue> | IfcCostValue) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, OriginalValue: (Handle<IfcCostValue> | IfcCostValue) | null, CurrentValue: (Handle<IfcCostValue> | IfcCostValue) | null, TotalReplacementCost: (Handle<IfcCostValue> | IfcCostValue) | null, Owner: IfcActorSelect | null, User: IfcActorSelect | null, ResponsiblePerson: (Handle<IfcPerson> | IfcPerson) | null, IncorporationDate: IfcDate | null, DepreciatedValue: (Handle<IfcCostValue> | IfcCostValue) | null);
    }
    class IfcAudioVisualApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAudioVisualApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAudioVisualApplianceTypeEnum);
    }
    class IfcBSplineCurve extends IfcBoundedCurve {
        Degree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: IfcLogical;
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Degree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: IfcLogical, SelfIntersect: IfcLogical);
    }
    class IfcBSplineCurveWithKnots extends IfcBSplineCurve {
        Degree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: IfcLogical;
        SelfIntersect: IfcLogical;
        KnotMultiplicities: IfcInteger[];
        Knots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        type: number;
        constructor(Degree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: IfcLogical, SelfIntersect: IfcLogical, KnotMultiplicities: IfcInteger[], Knots: IfcParameterValue[], KnotSpec: IfcKnotType);
    }
    class IfcBeamType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBeamTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBeamTypeEnum);
    }
    class IfcBearingType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBearingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBearingTypeEnum);
    }
    class IfcBoilerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBoilerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBoilerTypeEnum);
    }
    class IfcBoundaryCurve extends IfcCompositeCurveOnSurface {
        Segments: (Handle<IfcSegment> | IfcSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcSegment> | IfcSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcBridge extends IfcFacility {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        PredefinedType: IfcBridgeTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, PredefinedType: IfcBridgeTypeEnum | null);
    }
    class IfcBridgePart extends IfcFacilityPart {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        UsageType: IfcFacilityUsageEnum;
        PredefinedType: IfcBridgePartTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, UsageType: IfcFacilityUsageEnum, PredefinedType: IfcBridgePartTypeEnum | null);
    }
    class IfcBuilding extends IfcFacility {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        CompositionType: IfcElementCompositionEnum | null;
        ElevationOfRefHeight: IfcLengthMeasure | null;
        ElevationOfTerrain: IfcLengthMeasure | null;
        BuildingAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, CompositionType: IfcElementCompositionEnum | null, ElevationOfRefHeight: IfcLengthMeasure | null, ElevationOfTerrain: IfcLengthMeasure | null, BuildingAddress: (Handle<IfcPostalAddress> | IfcPostalAddress) | null);
    }
    class IfcBuildingElementPart extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBuildingElementPartTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBuildingElementPartTypeEnum | null);
    }
    class IfcBuildingElementPartType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBuildingElementPartTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBuildingElementPartTypeEnum);
    }
    class IfcBuildingElementProxyType extends IfcBuiltElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBuildingElementProxyTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBuildingElementProxyTypeEnum);
    }
    class IfcBuildingSystem extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcBuildingSystemTypeEnum | null;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcBuildingSystemTypeEnum | null, LongName: IfcLabel | null);
    }
    class IfcBuiltElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcBuiltSystem extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcBuiltSystemTypeEnum | null;
        LongName: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcBuiltSystemTypeEnum | null, LongName: IfcLabel | null);
    }
    class IfcBurnerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcBurnerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcBurnerTypeEnum);
    }
    class IfcCableCarrierFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableCarrierFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableCarrierFittingTypeEnum);
    }
    class IfcCableCarrierSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableCarrierSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableCarrierSegmentTypeEnum);
    }
    class IfcCableFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableFittingTypeEnum);
    }
    class IfcCableSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCableSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCableSegmentTypeEnum);
    }
    class IfcCaissonFoundationType extends IfcDeepFoundationType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCaissonFoundationTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCaissonFoundationTypeEnum);
    }
    class IfcChillerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcChillerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcChillerTypeEnum);
    }
    class IfcChimney extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcChimneyTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcChimneyTypeEnum | null);
    }
    class IfcCircle extends IfcConic {
        Position: IfcAxis2Placement;
        Radius: IfcPositiveLengthMeasure;
        type: number;
        constructor(Position: IfcAxis2Placement, Radius: IfcPositiveLengthMeasure);
    }
    class IfcCivilElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcCoilType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoilTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoilTypeEnum);
    }
    class IfcColumn extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcColumnTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcColumnTypeEnum | null);
    }
    class IfcCommunicationsApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCommunicationsApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCommunicationsApplianceTypeEnum);
    }
    class IfcCompressorType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCompressorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCompressorTypeEnum);
    }
    class IfcCondenserType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCondenserTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCondenserTypeEnum);
    }
    class IfcConstructionEquipmentResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionEquipmentResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionEquipmentResourceTypeEnum | null);
    }
    class IfcConstructionMaterialResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionMaterialResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionMaterialResourceTypeEnum | null);
    }
    class IfcConstructionProductResource extends IfcConstructionResource {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        Identification: IfcIdentifier | null;
        LongDescription: IfcText | null;
        Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null;
        BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null;
        BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null;
        PredefinedType: IfcConstructionProductResourceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, Identification: IfcIdentifier | null, LongDescription: IfcText | null, Usage: (Handle<IfcResourceTime> | IfcResourceTime) | null, BaseCosts: (Handle<IfcAppliedValue> | IfcAppliedValue)[] | null, BaseQuantity: (Handle<IfcPhysicalQuantity> | IfcPhysicalQuantity) | null, PredefinedType: IfcConstructionProductResourceTypeEnum | null);
    }
    class IfcConveyorSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcConveyorSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcConveyorSegmentTypeEnum);
    }
    class IfcCooledBeamType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCooledBeamTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCooledBeamTypeEnum);
    }
    class IfcCoolingTowerType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcCoolingTowerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcCoolingTowerTypeEnum);
    }
    class IfcCourse extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCourseTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCourseTypeEnum | null);
    }
    class IfcCovering extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCoveringTypeEnum | null;
        type: number;
        CoversSpaces: (Handle<IfcRelCoversSpaces> | IfcRelCoversSpaces)[] | null;
        CoversElements: (Handle<IfcRelCoversBldgElements> | IfcRelCoversBldgElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCoveringTypeEnum | null);
    }
    class IfcCurtainWall extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCurtainWallTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCurtainWallTypeEnum | null);
    }
    class IfcDamperType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDamperTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDamperTypeEnum);
    }
    class IfcDeepFoundation extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDiscreteAccessory extends IfcElementComponent {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDiscreteAccessoryTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDiscreteAccessoryTypeEnum | null);
    }
    class IfcDiscreteAccessoryType extends IfcElementComponentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDiscreteAccessoryTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDiscreteAccessoryTypeEnum);
    }
    class IfcDistributionBoardType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDistributionBoardTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDistributionBoardTypeEnum);
    }
    class IfcDistributionChamberElementType extends IfcDistributionFlowElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDistributionChamberElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDistributionChamberElementTypeEnum);
    }
    class IfcDistributionControlElementType extends IfcDistributionElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null);
    }
    class IfcDistributionElement extends IfcElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        HasPorts: (Handle<IfcRelConnectsPortToElement> | IfcRelConnectsPortToElement)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDistributionFlowElement extends IfcDistributionElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        HasControlElements: (Handle<IfcRelFlowControlElements> | IfcRelFlowControlElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDistributionPort extends IfcPort {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        FlowDirection: IfcFlowDirectionEnum | null;
        PredefinedType: IfcDistributionPortTypeEnum | null;
        SystemType: IfcDistributionSystemEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, FlowDirection: IfcFlowDirectionEnum | null, PredefinedType: IfcDistributionPortTypeEnum | null, SystemType: IfcDistributionSystemEnum | null);
    }
    class IfcDistributionSystem extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcDistributionSystemEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, PredefinedType: IfcDistributionSystemEnum | null);
    }
    class IfcDoor extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcDoorTypeEnum | null;
        OperationType: IfcDoorTypeOperationEnum | null;
        UserDefinedOperationType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null, PredefinedType: IfcDoorTypeEnum | null, OperationType: IfcDoorTypeOperationEnum | null, UserDefinedOperationType: IfcLabel | null);
    }
    class IfcDuctFittingType extends IfcFlowFittingType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctFittingTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctFittingTypeEnum);
    }
    class IfcDuctSegmentType extends IfcFlowSegmentType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctSegmentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctSegmentTypeEnum);
    }
    class IfcDuctSilencerType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcDuctSilencerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcDuctSilencerTypeEnum);
    }
    class IfcEarthworksCut extends IfcFeatureElementSubtraction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEarthworksCutTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEarthworksCutTypeEnum | null);
    }
    class IfcEarthworksElement extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcEarthworksFill extends IfcEarthworksElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEarthworksFillTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEarthworksFillTypeEnum | null);
    }
    class IfcElectricApplianceType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricApplianceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricApplianceTypeEnum);
    }
    class IfcElectricDistributionBoardType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricDistributionBoardTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricDistributionBoardTypeEnum);
    }
    class IfcElectricFlowStorageDeviceType extends IfcFlowStorageDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricFlowStorageDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricFlowStorageDeviceTypeEnum);
    }
    class IfcElectricFlowTreatmentDeviceType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricFlowTreatmentDeviceTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricFlowTreatmentDeviceTypeEnum);
    }
    class IfcElectricGeneratorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricGeneratorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricGeneratorTypeEnum);
    }
    class IfcElectricMotorType extends IfcEnergyConversionDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricMotorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricMotorTypeEnum);
    }
    class IfcElectricTimeControlType extends IfcFlowControllerType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcElectricTimeControlTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcElectricTimeControlTypeEnum);
    }
    class IfcEnergyConversionDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcEngine extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEngineTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEngineTypeEnum | null);
    }
    class IfcEvaporativeCooler extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEvaporativeCoolerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEvaporativeCoolerTypeEnum | null);
    }
    class IfcEvaporator extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcEvaporatorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcEvaporatorTypeEnum | null);
    }
    class IfcExternalSpatialElement extends IfcExternalSpatialStructureElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcExternalSpatialElementTypeEnum | null;
        type: number;
        BoundedBy: (Handle<IfcRelSpaceBoundary> | IfcRelSpaceBoundary)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, LongName: IfcLabel | null, PredefinedType: IfcExternalSpatialElementTypeEnum | null);
    }
    class IfcFanType extends IfcFlowMovingDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFanTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFanTypeEnum);
    }
    class IfcFilterType extends IfcFlowTreatmentDeviceType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFilterTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFilterTypeEnum);
    }
    class IfcFireSuppressionTerminalType extends IfcFlowTerminalType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFireSuppressionTerminalTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFireSuppressionTerminalTypeEnum);
    }
    class IfcFlowController extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowFitting extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowInstrumentType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcFlowInstrumentTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcFlowInstrumentTypeEnum);
    }
    class IfcFlowMeter extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFlowMeterTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFlowMeterTypeEnum | null);
    }
    class IfcFlowMovingDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowSegment extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowStorageDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowTerminal extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFlowTreatmentDevice extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcFooting extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFootingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFootingTypeEnum | null);
    }
    class IfcGeotechnicalAssembly extends IfcGeotechnicalElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcGrid extends IfcPositioningElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        UAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        VAxes: (Handle<IfcGridAxis> | IfcGridAxis)[];
        WAxes: (Handle<IfcGridAxis> | IfcGridAxis)[] | null;
        PredefinedType: IfcGridTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, UAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], VAxes: (Handle<IfcGridAxis> | IfcGridAxis)[], WAxes: (Handle<IfcGridAxis> | IfcGridAxis)[] | null, PredefinedType: IfcGridTypeEnum | null);
    }
    class IfcHeatExchanger extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcHeatExchangerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcHeatExchangerTypeEnum | null);
    }
    class IfcHumidifier extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcHumidifierTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcHumidifierTypeEnum | null);
    }
    class IfcInterceptor extends IfcFlowTreatmentDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcInterceptorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcInterceptorTypeEnum | null);
    }
    class IfcJunctionBox extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcJunctionBoxTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcJunctionBoxTypeEnum | null);
    }
    class IfcKerb extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        Mountable: IfcBoolean;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, Mountable: IfcBoolean);
    }
    class IfcLamp extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcLampTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcLampTypeEnum | null);
    }
    class IfcLightFixture extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcLightFixtureTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcLightFixtureTypeEnum | null);
    }
    class IfcLinearPositioningElement extends IfcPositioningElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null);
    }
    class IfcLiquidTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcLiquidTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcLiquidTerminalTypeEnum | null);
    }
    class IfcMedicalDevice extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMedicalDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMedicalDeviceTypeEnum | null);
    }
    class IfcMember extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMemberTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMemberTypeEnum | null);
    }
    class IfcMobileTelecommunicationsAppliance extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMobileTelecommunicationsApplianceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMobileTelecommunicationsApplianceTypeEnum | null);
    }
    class IfcMooringDevice extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMooringDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMooringDeviceTypeEnum | null);
    }
    class IfcMotorConnection extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcMotorConnectionTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcMotorConnectionTypeEnum | null);
    }
    class IfcNavigationElement extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcNavigationElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcNavigationElementTypeEnum | null);
    }
    class IfcOuterBoundaryCurve extends IfcBoundaryCurve {
        Segments: (Handle<IfcSegment> | IfcSegment)[];
        SelfIntersect: IfcLogical;
        type: number;
        constructor(Segments: (Handle<IfcSegment> | IfcSegment)[], SelfIntersect: IfcLogical);
    }
    class IfcOutlet extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcOutletTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcOutletTypeEnum | null);
    }
    class IfcPavement extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPavementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPavementTypeEnum | null);
    }
    class IfcPile extends IfcDeepFoundation {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPileTypeEnum | null;
        ConstructionType: IfcPileConstructionEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPileTypeEnum | null, ConstructionType: IfcPileConstructionEnum | null);
    }
    class IfcPipeFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPipeFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPipeFittingTypeEnum | null);
    }
    class IfcPipeSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPipeSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPipeSegmentTypeEnum | null);
    }
    class IfcPlate extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPlateTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPlateTypeEnum | null);
    }
    class IfcProtectiveDevice extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcProtectiveDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcProtectiveDeviceTypeEnum | null);
    }
    class IfcProtectiveDeviceTrippingUnitType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum);
    }
    class IfcPump extends IfcFlowMovingDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcPumpTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcPumpTypeEnum | null);
    }
    class IfcRail extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRailTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRailTypeEnum | null);
    }
    class IfcRailing extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRailingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRailingTypeEnum | null);
    }
    class IfcRamp extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRampTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRampTypeEnum | null);
    }
    class IfcRampFlight extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRampFlightTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRampFlightTypeEnum | null);
    }
    class IfcRationalBSplineCurveWithKnots extends IfcBSplineCurveWithKnots {
        Degree: IfcInteger;
        ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[];
        CurveForm: IfcBSplineCurveForm;
        ClosedCurve: IfcLogical;
        SelfIntersect: IfcLogical;
        KnotMultiplicities: IfcInteger[];
        Knots: IfcParameterValue[];
        KnotSpec: IfcKnotType;
        WeightsData: IfcReal[];
        type: number;
        constructor(Degree: IfcInteger, ControlPointsList: (Handle<IfcCartesianPoint> | IfcCartesianPoint)[], CurveForm: IfcBSplineCurveForm, ClosedCurve: IfcLogical, SelfIntersect: IfcLogical, KnotMultiplicities: IfcInteger[], Knots: IfcParameterValue[], KnotSpec: IfcKnotType, WeightsData: IfcReal[]);
    }
    class IfcReinforcedSoil extends IfcEarthworksElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcReinforcedSoilTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcReinforcedSoilTypeEnum | null);
    }
    class IfcReinforcingBar extends IfcReinforcingElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        SteelGrade: IfcLabel | null;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        BarLength: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcReinforcingBarTypeEnum | null;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, SteelGrade: IfcLabel | null, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, BarLength: IfcPositiveLengthMeasure | null, PredefinedType: IfcReinforcingBarTypeEnum | null, BarSurface: IfcReinforcingBarSurfaceEnum | null);
    }
    class IfcReinforcingBarType extends IfcReinforcingElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcReinforcingBarTypeEnum;
        NominalDiameter: IfcPositiveLengthMeasure | null;
        CrossSectionArea: IfcAreaMeasure | null;
        BarLength: IfcPositiveLengthMeasure | null;
        BarSurface: IfcReinforcingBarSurfaceEnum | null;
        BendingShapeCode: IfcLabel | null;
        BendingParameters: IfcBendingParameterSelect[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcReinforcingBarTypeEnum, NominalDiameter: IfcPositiveLengthMeasure | null, CrossSectionArea: IfcAreaMeasure | null, BarLength: IfcPositiveLengthMeasure | null, BarSurface: IfcReinforcingBarSurfaceEnum | null, BendingShapeCode: IfcLabel | null, BendingParameters: IfcBendingParameterSelect[] | null);
    }
    class IfcRoof extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcRoofTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcRoofTypeEnum | null);
    }
    class IfcSanitaryTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSanitaryTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSanitaryTerminalTypeEnum | null);
    }
    class IfcSensorType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcSensorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcSensorTypeEnum);
    }
    class IfcShadingDevice extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcShadingDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcShadingDeviceTypeEnum | null);
    }
    class IfcSignal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSignalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSignalTypeEnum | null);
    }
    class IfcSlab extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSlabTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSlabTypeEnum | null);
    }
    class IfcSolarDevice extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSolarDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSolarDeviceTypeEnum | null);
    }
    class IfcSpaceHeater extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSpaceHeaterTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSpaceHeaterTypeEnum | null);
    }
    class IfcStackTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcStackTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcStackTerminalTypeEnum | null);
    }
    class IfcStair extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcStairTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcStairTypeEnum | null);
    }
    class IfcStairFlight extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        NumberOfRisers: IfcInteger | null;
        NumberOfTreads: IfcInteger | null;
        RiserHeight: IfcPositiveLengthMeasure | null;
        TreadLength: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcStairFlightTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, NumberOfRisers: IfcInteger | null, NumberOfTreads: IfcInteger | null, RiserHeight: IfcPositiveLengthMeasure | null, TreadLength: IfcPositiveLengthMeasure | null, PredefinedType: IfcStairFlightTypeEnum | null);
    }
    class IfcStructuralAnalysisModel extends IfcSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcAnalysisModelTypeEnum;
        OrientationOf2DPlane: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null;
        LoadedBy: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup)[] | null;
        HasResults: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null;
        SharedPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcAnalysisModelTypeEnum, OrientationOf2DPlane: (Handle<IfcAxis2Placement3D> | IfcAxis2Placement3D) | null, LoadedBy: (Handle<IfcStructuralLoadGroup> | IfcStructuralLoadGroup)[] | null, HasResults: (Handle<IfcStructuralResultGroup> | IfcStructuralResultGroup)[] | null, SharedPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null);
    }
    class IfcStructuralLoadCase extends IfcStructuralLoadGroup {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        PredefinedType: IfcLoadGroupTypeEnum;
        ActionType: IfcActionTypeEnum;
        ActionSource: IfcActionSourceTypeEnum;
        Coefficient: IfcRatioMeasure | null;
        Purpose: IfcLabel | null;
        SelfWeightCoefficients: IfcRatioMeasure[] | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, PredefinedType: IfcLoadGroupTypeEnum, ActionType: IfcActionTypeEnum, ActionSource: IfcActionSourceTypeEnum, Coefficient: IfcRatioMeasure | null, Purpose: IfcLabel | null, SelfWeightCoefficients: IfcRatioMeasure[] | null);
    }
    class IfcStructuralPlanarAction extends IfcStructuralSurfaceAction {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad);
        GlobalOrLocal: IfcGlobalOrLocalEnum;
        DestabilizingLoad: IfcBoolean | null;
        ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null;
        PredefinedType: IfcStructuralSurfaceActivityTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, AppliedLoad: (Handle<IfcStructuralLoad> | IfcStructuralLoad), GlobalOrLocal: IfcGlobalOrLocalEnum, DestabilizingLoad: IfcBoolean | null, ProjectedOrTrue: IfcProjectedOrTrueLengthEnum | null, PredefinedType: IfcStructuralSurfaceActivityTypeEnum);
    }
    class IfcSwitchingDevice extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSwitchingDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSwitchingDeviceTypeEnum | null);
    }
    class IfcTank extends IfcFlowStorageDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTankTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTankTypeEnum | null);
    }
    class IfcTrackElement extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTrackElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTrackElementTypeEnum | null);
    }
    class IfcTransformer extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTransformerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTransformerTypeEnum | null);
    }
    class IfcTransportElement extends IfcTransportationDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTransportElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTransportElementTypeEnum | null);
    }
    class IfcTubeBundle extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcTubeBundleTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcTubeBundleTypeEnum | null);
    }
    class IfcUnitaryControlElementType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcUnitaryControlElementTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcUnitaryControlElementTypeEnum);
    }
    class IfcUnitaryEquipment extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcUnitaryEquipmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcUnitaryEquipmentTypeEnum | null);
    }
    class IfcValve extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcValveTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcValveTypeEnum | null);
    }
    class IfcWall extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcWallTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcWallTypeEnum | null);
    }
    class IfcWallStandardCase extends IfcWall {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcWallTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcWallTypeEnum | null);
    }
    class IfcWasteTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcWasteTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcWasteTerminalTypeEnum | null);
    }
    class IfcWindow extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        OverallHeight: IfcPositiveLengthMeasure | null;
        OverallWidth: IfcPositiveLengthMeasure | null;
        PredefinedType: IfcWindowTypeEnum | null;
        PartitioningType: IfcWindowTypePartitioningEnum | null;
        UserDefinedPartitioningType: IfcLabel | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, OverallHeight: IfcPositiveLengthMeasure | null, OverallWidth: IfcPositiveLengthMeasure | null, PredefinedType: IfcWindowTypeEnum | null, PartitioningType: IfcWindowTypePartitioningEnum | null, UserDefinedPartitioningType: IfcLabel | null);
    }
    class IfcActuatorType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcActuatorTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcActuatorTypeEnum);
    }
    class IfcAirTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAirTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAirTerminalTypeEnum | null);
    }
    class IfcAirTerminalBox extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAirTerminalBoxTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAirTerminalBoxTypeEnum | null);
    }
    class IfcAirToAirHeatRecovery extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAirToAirHeatRecoveryTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAirToAirHeatRecoveryTypeEnum | null);
    }
    class IfcAlarmType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcAlarmTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcAlarmTypeEnum);
    }
    class IfcAlignment extends IfcLinearPositioningElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        PredefinedType: IfcAlignmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, PredefinedType: IfcAlignmentTypeEnum | null);
    }
    class IfcAudioVisualAppliance extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAudioVisualApplianceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAudioVisualApplianceTypeEnum | null);
    }
    class IfcBeam extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBeamTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBeamTypeEnum | null);
    }
    class IfcBearing extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBearingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBearingTypeEnum | null);
    }
    class IfcBoiler extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBoilerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBoilerTypeEnum | null);
    }
    class IfcBorehole extends IfcGeotechnicalAssembly {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcBuildingElementProxy extends IfcBuiltElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBuildingElementProxyTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBuildingElementProxyTypeEnum | null);
    }
    class IfcBurner extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcBurnerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcBurnerTypeEnum | null);
    }
    class IfcCableCarrierFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableCarrierFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableCarrierFittingTypeEnum | null);
    }
    class IfcCableCarrierSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableCarrierSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableCarrierSegmentTypeEnum | null);
    }
    class IfcCableFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableFittingTypeEnum | null);
    }
    class IfcCableSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCableSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCableSegmentTypeEnum | null);
    }
    class IfcCaissonFoundation extends IfcDeepFoundation {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCaissonFoundationTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCaissonFoundationTypeEnum | null);
    }
    class IfcChiller extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcChillerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcChillerTypeEnum | null);
    }
    class IfcCoil extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCoilTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCoilTypeEnum | null);
    }
    class IfcCommunicationsAppliance extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCommunicationsApplianceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCommunicationsApplianceTypeEnum | null);
    }
    class IfcCompressor extends IfcFlowMovingDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCompressorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCompressorTypeEnum | null);
    }
    class IfcCondenser extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCondenserTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCondenserTypeEnum | null);
    }
    class IfcControllerType extends IfcDistributionControlElementType {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ApplicableOccurrence: IfcIdentifier | null;
        HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null;
        RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null;
        Tag: IfcLabel | null;
        ElementType: IfcLabel | null;
        PredefinedType: IfcControllerTypeEnum;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ApplicableOccurrence: IfcIdentifier | null, HasPropertySets: (Handle<IfcPropertySetDefinition> | IfcPropertySetDefinition)[] | null, RepresentationMaps: (Handle<IfcRepresentationMap> | IfcRepresentationMap)[] | null, Tag: IfcLabel | null, ElementType: IfcLabel | null, PredefinedType: IfcControllerTypeEnum);
    }
    class IfcConveyorSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcConveyorSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcConveyorSegmentTypeEnum | null);
    }
    class IfcCooledBeam extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCooledBeamTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCooledBeamTypeEnum | null);
    }
    class IfcCoolingTower extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcCoolingTowerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcCoolingTowerTypeEnum | null);
    }
    class IfcDamper extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDamperTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDamperTypeEnum | null);
    }
    class IfcDistributionBoard extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDistributionBoardTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDistributionBoardTypeEnum | null);
    }
    class IfcDistributionChamberElement extends IfcDistributionFlowElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDistributionChamberElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDistributionChamberElementTypeEnum | null);
    }
    class IfcDistributionCircuit extends IfcDistributionSystem {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        LongName: IfcLabel | null;
        PredefinedType: IfcDistributionSystemEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, LongName: IfcLabel | null, PredefinedType: IfcDistributionSystemEnum | null);
    }
    class IfcDistributionControlElement extends IfcDistributionElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        AssignedToFlowElement: (Handle<IfcRelFlowControlElements> | IfcRelFlowControlElements)[] | null;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcDuctFitting extends IfcFlowFitting {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDuctFittingTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDuctFittingTypeEnum | null);
    }
    class IfcDuctSegment extends IfcFlowSegment {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDuctSegmentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDuctSegmentTypeEnum | null);
    }
    class IfcDuctSilencer extends IfcFlowTreatmentDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcDuctSilencerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcDuctSilencerTypeEnum | null);
    }
    class IfcElectricAppliance extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricApplianceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricApplianceTypeEnum | null);
    }
    class IfcElectricDistributionBoard extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricDistributionBoardTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricDistributionBoardTypeEnum | null);
    }
    class IfcElectricFlowStorageDevice extends IfcFlowStorageDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricFlowStorageDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricFlowStorageDeviceTypeEnum | null);
    }
    class IfcElectricFlowTreatmentDevice extends IfcFlowTreatmentDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricFlowTreatmentDeviceTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricFlowTreatmentDeviceTypeEnum | null);
    }
    class IfcElectricGenerator extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricGeneratorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricGeneratorTypeEnum | null);
    }
    class IfcElectricMotor extends IfcEnergyConversionDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricMotorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricMotorTypeEnum | null);
    }
    class IfcElectricTimeControl extends IfcFlowController {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcElectricTimeControlTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcElectricTimeControlTypeEnum | null);
    }
    class IfcFan extends IfcFlowMovingDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFanTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFanTypeEnum | null);
    }
    class IfcFilter extends IfcFlowTreatmentDevice {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFilterTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFilterTypeEnum | null);
    }
    class IfcFireSuppressionTerminal extends IfcFlowTerminal {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFireSuppressionTerminalTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFireSuppressionTerminalTypeEnum | null);
    }
    class IfcFlowInstrument extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcFlowInstrumentTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcFlowInstrumentTypeEnum | null);
    }
    class IfcGeomodel extends IfcGeotechnicalAssembly {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcGeoslice extends IfcGeotechnicalAssembly {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null);
    }
    class IfcProtectiveDeviceTrippingUnit extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcProtectiveDeviceTrippingUnitTypeEnum | null);
    }
    class IfcSensor extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcSensorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcSensorTypeEnum | null);
    }
    class IfcUnitaryControlElement extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcUnitaryControlElementTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcUnitaryControlElementTypeEnum | null);
    }
    class IfcActuator extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcActuatorTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcActuatorTypeEnum | null);
    }
    class IfcAlarm extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcAlarmTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcAlarmTypeEnum | null);
    }
    class IfcController extends IfcDistributionControlElement {
        GlobalId: IfcGloballyUniqueId;
        OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null;
        Name: IfcLabel | null;
        Description: IfcText | null;
        ObjectType: IfcLabel | null;
        ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null;
        Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null;
        Tag: IfcIdentifier | null;
        PredefinedType: IfcControllerTypeEnum | null;
        type: number;
        constructor(GlobalId: IfcGloballyUniqueId, OwnerHistory: (Handle<IfcOwnerHistory> | IfcOwnerHistory) | null, Name: IfcLabel | null, Description: IfcText | null, ObjectType: IfcLabel | null, ObjectPlacement: (Handle<IfcObjectPlacement> | IfcObjectPlacement) | null, Representation: (Handle<IfcProductRepresentation> | IfcProductRepresentation) | null, Tag: IfcIdentifier | null, PredefinedType: IfcControllerTypeEnum | null);
    }
}