UNPKG

@mod-construction/mod-dlm

Version:

mod-dlm is an open source project designed to create a domain-specific language (DSL) for describing prefab elements in the Architecture, Engineering, and Construction (AEC) industry. This project provides tools for defining entity models and automaticall

902 lines (879 loc) 64.4 kB
import { z } from 'zod'; import * as convert_units_definitions_all from 'convert-units/definitions/all'; declare const AcousticPropertiesSchema: z.ZodObject<{ /** * Weighted sound reduction index (Rw), measured in decibels (dB). * Represents the ability of a building element to reduce airborne sound transmission. * Based on ISO 717-1. */ weightedSoundReductionIndex: z.ZodNumber; /** * Spectrum adaptation term (Ctr), in decibels (dB). * Adjusts Rw to account for low-frequency noise typical in urban environments. * Optional depending on project requirements. */ spectrumAdaptationTerm: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; }, { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; }>; type AcousticProperties = z.infer<typeof AcousticPropertiesSchema>; declare const AestheticAndCustomizationOptionsSchema: z.ZodObject<{ colorOptions: z.ZodOptional<z.ZodArray<z.ZodString, "many">>; texture: z.ZodOptional<z.ZodString>; modularAdaptability: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { colorOptions?: string[] | undefined; texture?: string | undefined; modularAdaptability?: string | undefined; }, { colorOptions?: string[] | undefined; texture?: string | undefined; modularAdaptability?: string | undefined; }>; type AestheticAndCustomizationOptions = z.infer<typeof AestheticAndCustomizationOptionsSchema>; declare const BoundingBoxSchema: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; depth: z.ZodNumber; }, "strip", z.ZodTypeAny, { width: number; height: number; depth: number; }, { width: number; height: number; depth: number; }>; type BoundingBox = z.infer<typeof BoundingBoxSchema>; declare const CertificationsSchema: z.ZodObject<{ certificationTypes: z.ZodArray<z.ZodString, "many">; regulatoryApprovals: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { certificationTypes: string[]; regulatoryApprovals: string[]; }, { certificationTypes: string[]; regulatoryApprovals: string[]; }>; type Certifications = z.infer<typeof CertificationsSchema>; declare const DimensionalAttributesSchema: z.ZodObject<{ width: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; height: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; length: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; }, "strip", z.ZodTypeAny, { length: { min: number; max: number; }; width: { min: number; max: number; }; height: { min: number; max: number; }; }, { length: { min: number; max: number; }; width: { min: number; max: number; }; height: { min: number; max: number; }; }>; type DimensionalAttributes = z.infer<typeof DimensionalAttributesSchema>; declare const DocumentationAndComplianceSchema: z.ZodObject<{ technicalSpecifications: z.ZodString; certifications: z.ZodObject<{ certificationTypes: z.ZodArray<z.ZodString, "many">; regulatoryApprovals: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { certificationTypes: string[]; regulatoryApprovals: string[]; }, { certificationTypes: string[]; regulatoryApprovals: string[]; }>; }, "strip", z.ZodTypeAny, { technicalSpecifications: string; certifications: { certificationTypes: string[]; regulatoryApprovals: string[]; }; }, { technicalSpecifications: string; certifications: { certificationTypes: string[]; regulatoryApprovals: string[]; }; }>; type DocumentationAndCompliance = z.infer<typeof DocumentationAndComplianceSchema>; declare const EconomicFactorsSchema: z.ZodObject<{ costPerUnit: z.ZodOptional<z.ZodNumber>; currency: z.ZodOptional<z.ZodEnum<["EUR", "USD", "GBP", "CHF", "JPY", "CNY"]>>; manufacturingLeadTime: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { costPerUnit?: number | undefined; currency?: "EUR" | "USD" | "GBP" | "CHF" | "JPY" | "CNY" | undefined; manufacturingLeadTime?: number | undefined; }, { costPerUnit?: number | undefined; currency?: "EUR" | "USD" | "GBP" | "CHF" | "JPY" | "CNY" | undefined; manufacturingLeadTime?: number | undefined; }>; type EconomicFactors = z.infer<typeof EconomicFactorsSchema>; declare const DisassemblyRatingEnum: z.ZodEnum<["1", "2", "3", "4", "5"]>; declare const ReusePotentialEnum: z.ZodEnum<["single-use", "multi-use", "recyclable", "remanufacturable"]>; declare const RefurbishmentScopeEnum: z.ZodEnum<["none", "surface-only", "partial", "full"]>; declare const CircularityCertificationEnum: z.ZodEnum<["none", "C2C_basic", "C2C_bronze", "C2C_silver", "C2C_gold", "C2C_platinum"]>; declare const ProductMaterialEnum: z.ZodEnum<["Timber", "Steel", "Concrete", "Hybrid", "Other"]>; declare const BuildingSystemEnum: z.ZodEnum<["Wall", "Balcony", "Pod", "Frame", "Facade", "Floors", "Modules", "Plants", "Roofs", "Stairs"]>; declare const ProductCategoryEnum: z.ZodEnum<["Boarding", "Solid Wall Panels", "Closed Wall Panels", "Twinwall", "Open Wall Panels", "Structural Insulated Panels (SIPs)", "Insulated Concrete Panels", "Prefabricated Balcony", "Pod", "Whole Building System", "Structural Frame", "Facade System", "Hollowcore Floor", "Concrete Lattice Floor", "Floor Cassettes", "Solid Floor Panels", "Volumetric module", "Prefabricated Plant", "Roof Panel", "Roof Truss", "Prefabricated Stairs"]>; declare const SeismicResistance: z.ZodEnum<["SDS ≤ 0.167g", "0.167g < SDS ≤ 0.33g", "0.33g < SDS ≤ 0.50g", "SDS > 0.50g"]>; declare const WindLoadResistance: z.ZodEnum<["≤ 1.0 kPa", "1.0–2.5 kPa", "2.5–4.0 kPa", "> 4.0 kPa"]>; /** * Sustainability rating category, similar to EU product energy labels. */ declare const SustainabilityClassification: z.ZodEnum<["A+", "A", "B", "C", "D"]>; /** * VOC emissions level, qualitative but optionally linked to certification standards. */ declare const VOCEmissions: z.ZodEnum<["None (<0.01 mg/m³)", "Very Low (<0.1 mg/m³)", "Low (0.1–0.3 mg/m³)", "Moderate (0.3–1.0 mg/m³)", "High (>1.0 mg/m³)"]>; /** * Recyclability expressed as a percentage value (0–100). * Replace enum with a Zod number validator. */ declare const Recyclability: z.ZodNumber; /** * Energy efficiency classification including R-value categories and certifications. */ declare const EnergyEfficiency: z.ZodEnum<["R-1", "R-2", "R-5", "Energy Star", "LEED Certified", "LEED Silver", "LEED Gold", "LEED Platinum", "BREEAM Good", "BREEAM Very Good", "BREEAM Excellent", "BREEAM Outstanding", "Passive House", "DGNB Gold"]>; declare const ConnectionType: z.ZodEnum<["Bolt-on", "Welded", "Clip-on", "Adhesive", "Mortar", "Snap-fit", "Plug-and-Play", "Dry Joint"]>; declare const LoadBearingTestStandardEnum: z.ZodEnum<["EN 1991-1-1", "ASTM E72", "ISO 4355"]>; declare const CompatibilityEnum: z.ZodEnum<["Steel Frame", "Wood Frame", "Concrete Structure", "Brickwork", "Modular Systems", "Glass Facades", "Composite Materials", "CLT", "Light Gauge Steel", "Masonry Infill"]>; declare const LoadDistributionEnum: z.ZodEnum<["point", "uniform", "triangular", "trapezoidal", "eccentric", "custom"]>; /** * Enumeration of IFC Building Element types based on IFC 4.3. * Reference: ISO 16739-1:2024 */ declare const IfcBuildingElementEnum: z.ZodEnum<["IfcBeam", "IfcChimney", "IfcColumn", "IfcCovering", "IfcCurtainWall", "IfcDoor", "IfcFooting", "IfcMember", "IfcPile", "IfcPlate", "IfcRailing", "IfcRamp", "IfcRampFlight", "IfcRoof", "IfcShadingDevice", "IfcSlab", "IfcStair", "IfcStairFlight", "IfcWall", "IfcWallStandardCase", "IfcWindow", "IfcBuildingElementProxy"]>; declare const CurrencyEnum: z.ZodEnum<["EUR", "USD", "GBP", "CHF", "JPY", "CNY"]>; /** * Classification of the material's reaction to fire, based on Euroclass standards (EN 13501-1). * Ranges from A1 (non-combustible) to F (easily flammable). */ declare const FireResistanceEnum: z.ZodEnum<["A1", "A2", "B", "C", "D", "E", "F"]>; /** * Duration for which the element resists fire under standard testing conditions. * Expressed in minutes, as defined by EN 1363-1 or ASTM E119. */ declare const FireResistanceDurationEnum: z.ZodEnum<["30min", "60min", "90min", "120min", "180min", "240min"]>; declare const FireResistanceSchema: z.ZodObject<{ /** * Classification of the material's reaction to fire, based on Euroclass standards (EN 13501-1). * Ranges from A1 (non-combustible) to F (easily flammable). */ reactionToFireClassification: z.ZodEnum<["A1", "A2", "B", "C", "D", "E", "F"]>; /** * Duration for which the element resists fire under standard testing conditions. * Expressed in minutes, as defined by EN 1363-1 or ASTM E119. */ fireResistanceDuration: z.ZodEnum<["30min", "60min", "90min", "120min", "180min", "240min"]>; }, "strip", z.ZodTypeAny, { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }, { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }>; type FireResistance = z.infer<typeof FireResistanceSchema>; declare const InstallationAndConnectivitySchema: z.ZodObject<{ connectionType: z.ZodOptional<z.ZodEnum<["Bolt-on", "Welded", "Clip-on", "Adhesive", "Mortar", "Snap-fit", "Plug-and-Play", "Dry Joint"]>>; installationTime: z.ZodNumber; compatibility: z.ZodOptional<z.ZodEnum<["Steel Frame", "Wood Frame", "Concrete Structure", "Brickwork", "Modular Systems", "Glass Facades", "Composite Materials", "CLT", "Light Gauge Steel", "Masonry Infill"]>>; }, "strip", z.ZodTypeAny, { installationTime: number; connectionType?: "Bolt-on" | "Welded" | "Clip-on" | "Adhesive" | "Mortar" | "Snap-fit" | "Plug-and-Play" | "Dry Joint" | undefined; compatibility?: "Steel Frame" | "Wood Frame" | "Concrete Structure" | "Brickwork" | "Modular Systems" | "Glass Facades" | "Composite Materials" | "CLT" | "Light Gauge Steel" | "Masonry Infill" | undefined; }, { installationTime: number; connectionType?: "Bolt-on" | "Welded" | "Clip-on" | "Adhesive" | "Mortar" | "Snap-fit" | "Plug-and-Play" | "Dry Joint" | undefined; compatibility?: "Steel Frame" | "Wood Frame" | "Concrete Structure" | "Brickwork" | "Modular Systems" | "Glass Facades" | "Composite Materials" | "CLT" | "Light Gauge Steel" | "Masonry Infill" | undefined; }>; type InstallationAndConnectivity = z.infer<typeof InstallationAndConnectivitySchema>; declare const LifecycleAndMaintenanceSchema: z.ZodObject<{ expectedLifespan: z.ZodOptional<z.ZodNumber>; maintenanceRequirements: z.ZodOptional<z.ZodString>; warranty: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { expectedLifespan?: number | undefined; maintenanceRequirements?: string | undefined; warranty?: string | undefined; }, { expectedLifespan?: number | undefined; maintenanceRequirements?: string | undefined; warranty?: string | undefined; }>; type LifecycleAndMaintenance = z.infer<typeof LifecycleAndMaintenanceSchema>; declare const LoadBearingCapacitySchema: z.ZodObject<{ maximumLoad: z.ZodNumber; forceUnit: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; loadDistribution: z.ZodEnum<["point", "uniform", "triangular", "trapezoidal", "eccentric", "custom"]>; testStandard: z.ZodOptional<z.ZodEnum<["EN 1991-1-1", "ASTM E72", "ISO 4355"]>>; }, "strip", z.ZodTypeAny, { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; }, { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; }>; type LoadBearingCapacity = z.infer<typeof LoadBearingCapacitySchema>; declare const MaterialSchema: z.ZodObject<{ type: z.ZodEnum<["Timber", "Steel", "Concrete", "Hybrid", "Other"]>; grade: z.ZodString; }, "strip", z.ZodTypeAny, { type: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; grade: string; }, { type: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; grade: string; }>; declare const MaterialCompositionSchema: z.ZodObject<{ materials: z.ZodArray<z.ZodObject<{ type: z.ZodEnum<["Timber", "Steel", "Concrete", "Hybrid", "Other"]>; grade: z.ZodString; }, "strip", z.ZodTypeAny, { type: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; grade: string; }, { type: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; grade: string; }>, "many">; }, "strip", z.ZodTypeAny, { materials: { type: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; grade: string; }[]; }, { materials: { type: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; grade: string; }[]; }>; type Material = z.infer<typeof MaterialSchema>; type MaterialComposition = z.infer<typeof MaterialCompositionSchema>; declare const PerformanceAttributesSchema: z.ZodObject<{ fireResistance: z.ZodObject<{ reactionToFireClassification: z.ZodEnum<["A1", "A2", "B", "C", "D", "E", "F"]>; fireResistanceDuration: z.ZodEnum<["30min", "60min", "90min", "120min", "180min", "240min"]>; }, "strip", z.ZodTypeAny, { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }, { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }>; thermalTransmittance: z.ZodNumber; acousticProperties: z.ZodOptional<z.ZodObject<{ weightedSoundReductionIndex: z.ZodNumber; spectrumAdaptationTerm: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; }, { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; }>>; airTightness: z.ZodNumber; vaporPermeability: z.ZodNumber; }, "strip", z.ZodTypeAny, { fireResistance: { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }; thermalTransmittance: number; airTightness: number; vaporPermeability: number; acousticProperties?: { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; } | undefined; }, { fireResistance: { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }; thermalTransmittance: number; airTightness: number; vaporPermeability: number; acousticProperties?: { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; } | undefined; }>; type PerformanceAttributes = z.infer<typeof PerformanceAttributesSchema>; declare const RawProductCategorySchema: z.ZodObject<{ category: z.ZodEnum<["Boarding", "Solid Wall Panels", "Closed Wall Panels", "Twinwall", "Open Wall Panels", "Structural Insulated Panels (SIPs)", "Insulated Concrete Panels", "Prefabricated Balcony", "Pod", "Whole Building System", "Structural Frame", "Facade System", "Hollowcore Floor", "Concrete Lattice Floor", "Floor Cassettes", "Solid Floor Panels", "Volumetric module", "Prefabricated Plant", "Roof Panel", "Roof Truss", "Prefabricated Stairs"]>; buildingSystem: z.ZodEnum<["Wall", "Balcony", "Pod", "Frame", "Facade", "Floors", "Modules", "Plants", "Roofs", "Stairs"]>; }, "strip", z.ZodTypeAny, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }>; declare const productCategoryValues: z.infer<typeof RawProductCategorySchema>[]; declare const ProductCategorySchema: z.ZodEffects<z.ZodObject<{ category: z.ZodEnum<["Boarding", "Solid Wall Panels", "Closed Wall Panels", "Twinwall", "Open Wall Panels", "Structural Insulated Panels (SIPs)", "Insulated Concrete Panels", "Prefabricated Balcony", "Pod", "Whole Building System", "Structural Frame", "Facade System", "Hollowcore Floor", "Concrete Lattice Floor", "Floor Cassettes", "Solid Floor Panels", "Volumetric module", "Prefabricated Plant", "Roof Panel", "Roof Truss", "Prefabricated Stairs"]>; buildingSystem: z.ZodEnum<["Wall", "Balcony", "Pod", "Frame", "Facade", "Floors", "Modules", "Plants", "Roofs", "Stairs"]>; }, "strip", z.ZodTypeAny, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }>, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }>; type ProductCategory = z.infer<typeof ProductCategorySchema>; declare const ProductMaterialAttributesSchema: z.ZodObject<{ finishMaterial: z.ZodEnum<["Timber", "Steel", "Concrete", "Hybrid", "Other"]>; structuralMaterial: z.ZodEnum<["Timber", "Steel", "Concrete", "Hybrid", "Other"]>; }, "strip", z.ZodTypeAny, { finishMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; structuralMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; }, { finishMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; structuralMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; }>; type ProductMaterialAttributes = z.infer<typeof ProductMaterialAttributesSchema>; declare const RangeSchema: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; type Range = z.infer<typeof RangeSchema>; declare const StructuralPropertiesSchema: z.ZodObject<{ loadBearingCapacity: z.ZodOptional<z.ZodObject<{ maximumLoad: z.ZodNumber; forceUnit: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; loadDistribution: z.ZodEnum<["point", "uniform", "triangular", "trapezoidal", "eccentric", "custom"]>; testStandard: z.ZodOptional<z.ZodEnum<["EN 1991-1-1", "ASTM E72", "ISO 4355"]>>; }, "strip", z.ZodTypeAny, { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; }, { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; }>>; seismicResistance: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["SDS ≤ 0.167g", "0.167g < SDS ≤ 0.33g", "0.33g < SDS ≤ 0.50g", "SDS > 0.50g"]>, z.ZodString]>>; windLoadResistance: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["≤ 1.0 kPa", "1.0–2.5 kPa", "2.5–4.0 kPa", "> 4.0 kPa"]>, z.ZodString]>>; deflectionLimit: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>; safetyFactor: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { loadBearingCapacity?: { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; } | undefined; seismicResistance?: string | undefined; windLoadResistance?: string | undefined; deflectionLimit?: string | number | undefined; safetyFactor?: number | undefined; }, { loadBearingCapacity?: { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; } | undefined; seismicResistance?: string | undefined; windLoadResistance?: string | undefined; deflectionLimit?: string | number | undefined; safetyFactor?: number | undefined; }>; type StructuralProperties = z.infer<typeof StructuralPropertiesSchema>; declare const SustainabilitySchema: z.ZodObject<{ environmentalImpact: z.ZodObject<{ classification: z.ZodEnum<["A+", "A", "B", "C", "D"]>; VOCEmissions: z.ZodOptional<z.ZodEnum<["None (<0.01 mg/m³)", "Very Low (<0.1 mg/m³)", "Low (0.1–0.3 mg/m³)", "Moderate (0.3–1.0 mg/m³)", "High (>1.0 mg/m³)"]>>; recyclability: z.ZodOptional<z.ZodNumber>; energyEfficiency: z.ZodEnum<["R-1", "R-2", "R-5", "Energy Star", "LEED Certified", "LEED Silver", "LEED Gold", "LEED Platinum", "BREEAM Good", "BREEAM Very Good", "BREEAM Excellent", "BREEAM Outstanding", "Passive House", "DGNB Gold"]>; }, "strip", z.ZodTypeAny, { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }, { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }>; circularity: z.ZodObject<{ disassemblyRating: z.ZodEnum<["1", "2", "3", "4", "5"]>; reusePotential: z.ZodEnum<["single-use", "multi-use", "recyclable", "remanufacturable"]>; refurbishmentScope: z.ZodEnum<["none", "surface-only", "partial", "full"]>; circularityCertification: z.ZodEnum<["none", "C2C_basic", "C2C_bronze", "C2C_silver", "C2C_gold", "C2C_platinum"]>; }, "strip", z.ZodTypeAny, { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }, { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }>; origin: z.ZodObject<{ countryOfManufacturing: z.ZodString; }, "strip", z.ZodTypeAny, { countryOfManufacturing: string; }, { countryOfManufacturing: string; }>; }, "strip", z.ZodTypeAny, { environmentalImpact: { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }; circularity: { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }; origin: { countryOfManufacturing: string; }; }, { environmentalImpact: { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }; circularity: { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }; origin: { countryOfManufacturing: string; }; }>; type Sustainability = z.infer<typeof SustainabilitySchema>; declare const ThermalPropertiesSchema: z.ZodObject<{ uValue: z.ZodNumber; insulationType: z.ZodString; }, "strip", z.ZodTypeAny, { uValue: number; insulationType: string; }, { uValue: number; insulationType: string; }>; type ThermalProperties = z.infer<typeof ThermalPropertiesSchema>; declare const ForceUnitsEnum: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; declare const MassUnits: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; declare const LengthUnits: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; declare const AreaUnits: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; declare const VolumeUnits: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; declare const TorqueUnits: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; declare const TempratureUnits: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; declare const VersionMetadataSchema: z.ZodObject<{ version: z.ZodString; status: z.ZodEnum<["draft", "published", "deprecated"]>; lastUpdated: z.ZodString; }, "strip", z.ZodTypeAny, { status: "draft" | "published" | "deprecated"; version: string; lastUpdated: string; }, { status: "draft" | "published" | "deprecated"; version: string; lastUpdated: string; }>; type VersionMetadata = z.infer<typeof VersionMetadataSchema>; declare const ElementIdSchema: z.ZodString; declare const PrefabElementSchema: z.ZodObject<{ id: z.ZodString; versionMetadata: z.ZodObject<{ version: z.ZodString; status: z.ZodEnum<["draft", "published", "deprecated"]>; lastUpdated: z.ZodString; }, "strip", z.ZodTypeAny, { status: "draft" | "published" | "deprecated"; version: string; lastUpdated: string; }, { status: "draft" | "published" | "deprecated"; version: string; lastUpdated: string; }>; name: z.ZodString; description: z.ZodString; boundingBox: z.ZodObject<{ width: z.ZodNumber; height: z.ZodNumber; depth: z.ZodNumber; }, "strip", z.ZodTypeAny, { width: number; height: number; depth: number; }, { width: number; height: number; depth: number; }>; images: z.ZodArray<z.ZodString, "many">; productCategory: z.ZodEffects<z.ZodObject<{ category: z.ZodEnum<["Boarding", "Solid Wall Panels", "Closed Wall Panels", "Twinwall", "Open Wall Panels", "Structural Insulated Panels (SIPs)", "Insulated Concrete Panels", "Prefabricated Balcony", "Pod", "Whole Building System", "Structural Frame", "Facade System", "Hollowcore Floor", "Concrete Lattice Floor", "Floor Cassettes", "Solid Floor Panels", "Volumetric module", "Prefabricated Plant", "Roof Panel", "Roof Truss", "Prefabricated Stairs"]>; buildingSystem: z.ZodEnum<["Wall", "Balcony", "Pod", "Frame", "Facade", "Floors", "Modules", "Plants", "Roofs", "Stairs"]>; }, "strip", z.ZodTypeAny, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }>, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }, { category: "Pod" | "Boarding" | "Solid Wall Panels" | "Closed Wall Panels" | "Twinwall" | "Open Wall Panels" | "Structural Insulated Panels (SIPs)" | "Insulated Concrete Panels" | "Prefabricated Balcony" | "Whole Building System" | "Structural Frame" | "Facade System" | "Hollowcore Floor" | "Concrete Lattice Floor" | "Floor Cassettes" | "Solid Floor Panels" | "Volumetric module" | "Prefabricated Plant" | "Roof Panel" | "Roof Truss" | "Prefabricated Stairs"; buildingSystem: "Wall" | "Balcony" | "Pod" | "Frame" | "Facade" | "Floors" | "Modules" | "Plants" | "Roofs" | "Stairs"; }>; material: z.ZodObject<{ finishMaterial: z.ZodEnum<["Timber", "Steel", "Concrete", "Hybrid", "Other"]>; structuralMaterial: z.ZodEnum<["Timber", "Steel", "Concrete", "Hybrid", "Other"]>; }, "strip", z.ZodTypeAny, { finishMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; structuralMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; }, { finishMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; structuralMaterial: "Timber" | "Steel" | "Concrete" | "Hybrid" | "Other"; }>; dimensional: z.ZodObject<{ width: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; height: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; length: z.ZodObject<{ min: z.ZodNumber; max: z.ZodNumber; }, "strip", z.ZodTypeAny, { min: number; max: number; }, { min: number; max: number; }>; }, "strip", z.ZodTypeAny, { length: { min: number; max: number; }; width: { min: number; max: number; }; height: { min: number; max: number; }; }, { length: { min: number; max: number; }; width: { min: number; max: number; }; height: { min: number; max: number; }; }>; structuralProperties: z.ZodOptional<z.ZodObject<{ loadBearingCapacity: z.ZodOptional<z.ZodObject<{ maximumLoad: z.ZodNumber; forceUnit: z.ZodEnum<[convert_units_definitions_all.AllMeasuresUnits, ...convert_units_definitions_all.AllMeasuresUnits[]]>; loadDistribution: z.ZodEnum<["point", "uniform", "triangular", "trapezoidal", "eccentric", "custom"]>; testStandard: z.ZodOptional<z.ZodEnum<["EN 1991-1-1", "ASTM E72", "ISO 4355"]>>; }, "strip", z.ZodTypeAny, { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; }, { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; }>>; seismicResistance: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["SDS ≤ 0.167g", "0.167g < SDS ≤ 0.33g", "0.33g < SDS ≤ 0.50g", "SDS > 0.50g"]>, z.ZodString]>>; windLoadResistance: z.ZodOptional<z.ZodUnion<[z.ZodEnum<["≤ 1.0 kPa", "1.0–2.5 kPa", "2.5–4.0 kPa", "> 4.0 kPa"]>, z.ZodString]>>; deflectionLimit: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>; safetyFactor: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { loadBearingCapacity?: { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; } | undefined; seismicResistance?: string | undefined; windLoadResistance?: string | undefined; deflectionLimit?: string | number | undefined; safetyFactor?: number | undefined; }, { loadBearingCapacity?: { maximumLoad: number; forceUnit: convert_units_definitions_all.AllMeasuresUnits; loadDistribution: "custom" | "point" | "uniform" | "triangular" | "trapezoidal" | "eccentric"; testStandard?: "EN 1991-1-1" | "ASTM E72" | "ISO 4355" | undefined; } | undefined; seismicResistance?: string | undefined; windLoadResistance?: string | undefined; deflectionLimit?: string | number | undefined; safetyFactor?: number | undefined; }>>; performance: z.ZodOptional<z.ZodObject<{ fireResistance: z.ZodObject<{ reactionToFireClassification: z.ZodEnum<["A1", "A2", "B", "C", "D", "E", "F"]>; fireResistanceDuration: z.ZodEnum<["30min", "60min", "90min", "120min", "180min", "240min"]>; }, "strip", z.ZodTypeAny, { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }, { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }>; thermalTransmittance: z.ZodNumber; acousticProperties: z.ZodOptional<z.ZodObject<{ weightedSoundReductionIndex: z.ZodNumber; spectrumAdaptationTerm: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; }, { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; }>>; airTightness: z.ZodNumber; vaporPermeability: z.ZodNumber; }, "strip", z.ZodTypeAny, { fireResistance: { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }; thermalTransmittance: number; airTightness: number; vaporPermeability: number; acousticProperties?: { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; } | undefined; }, { fireResistance: { reactionToFireClassification: "B" | "C" | "D" | "A1" | "A2" | "E" | "F"; fireResistanceDuration: "30min" | "60min" | "90min" | "120min" | "180min" | "240min"; }; thermalTransmittance: number; airTightness: number; vaporPermeability: number; acousticProperties?: { weightedSoundReductionIndex: number; spectrumAdaptationTerm?: number | undefined; } | undefined; }>>; sustainability: z.ZodOptional<z.ZodObject<{ environmentalImpact: z.ZodObject<{ classification: z.ZodEnum<["A+", "A", "B", "C", "D"]>; VOCEmissions: z.ZodOptional<z.ZodEnum<["None (<0.01 mg/m³)", "Very Low (<0.1 mg/m³)", "Low (0.1–0.3 mg/m³)", "Moderate (0.3–1.0 mg/m³)", "High (>1.0 mg/m³)"]>>; recyclability: z.ZodOptional<z.ZodNumber>; energyEfficiency: z.ZodEnum<["R-1", "R-2", "R-5", "Energy Star", "LEED Certified", "LEED Silver", "LEED Gold", "LEED Platinum", "BREEAM Good", "BREEAM Very Good", "BREEAM Excellent", "BREEAM Outstanding", "Passive House", "DGNB Gold"]>; }, "strip", z.ZodTypeAny, { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }, { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }>; circularity: z.ZodObject<{ disassemblyRating: z.ZodEnum<["1", "2", "3", "4", "5"]>; reusePotential: z.ZodEnum<["single-use", "multi-use", "recyclable", "remanufacturable"]>; refurbishmentScope: z.ZodEnum<["none", "surface-only", "partial", "full"]>; circularityCertification: z.ZodEnum<["none", "C2C_basic", "C2C_bronze", "C2C_silver", "C2C_gold", "C2C_platinum"]>; }, "strip", z.ZodTypeAny, { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }, { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }>; origin: z.ZodObject<{ countryOfManufacturing: z.ZodString; }, "strip", z.ZodTypeAny, { countryOfManufacturing: string; }, { countryOfManufacturing: string; }>; }, "strip", z.ZodTypeAny, { environmentalImpact: { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }; circularity: { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }; origin: { countryOfManufacturing: string; }; }, { environmentalImpact: { classification: "A+" | "A" | "B" | "C" | "D"; energyEfficiency: "R-1" | "R-2" | "R-5" | "Energy Star" | "LEED Certified" | "LEED Silver" | "LEED Gold" | "LEED Platinum" | "BREEAM Good" | "BREEAM Very Good" | "BREEAM Excellent" | "BREEAM Outstanding" | "Passive House" | "DGNB Gold"; VOCEmissions?: "None (<0.01 mg/m³)" | "Very Low (<0.1 mg/m³)" | "Low (0.1–0.3 mg/m³)" | "Moderate (0.3–1.0 mg/m³)" | "High (>1.0 mg/m³)" | undefined; recyclability?: number | undefined; }; circularity: { disassemblyRating: "1" | "2" | "3" | "4" | "5"; reusePotential: "single-use" | "multi-use" | "recyclable" | "remanufacturable"; refurbishmentScope: "none" | "surface-only" | "partial" | "full"; circularityCertification: "none" | "C2C_basic" | "C2C_bronze" | "C2C_silver" | "C2C_gold" | "C2C_platinum"; }; origin: { countryOfManufacturing: string; }; }>>; documentationAndCompliance: z.ZodOptional<z.ZodObject<{ technicalSpecifications: z.ZodString; certifications: z.ZodObject<{ certificationTypes: z.ZodArray<z.ZodString, "many">; regulatoryApprovals: z.ZodArray<z.ZodString, "many">; }, "strip", z.ZodTypeAny, { certificationTypes: string[]; regulatoryApprovals: string[]; }, { certificationTypes: string[]; regulatoryApprovals: string[]; }>; }, "strip", z.ZodTypeAny, { technicalSpecifications: string; certifications: { certificationTypes: string[]; regulatoryApprovals: string[]; }; }, { technicalSpecifications: string; certifications: { certificationTypes: string[]; regulatoryApprovals: string[]; }; }>>; installationAndConnectivity: z.ZodOptional<z.ZodObject<{ connectionType: z.ZodOptional<z.ZodEnum<["Bolt-on", "Welded", "Clip-on", "Adhesive", "Mortar", "Snap-fit", "Plug-and-Play", "Dry Joint"]>>; installationTime: z.ZodNumber; compatibility: z.ZodOptional<z.ZodEnum<["Steel Frame", "Wood Frame", "Concrete Structure", "Brickwork", "Modular Systems", "Glass Facades", "Composite Materials", "CLT", "Light Gauge Steel", "Masonry Infill"]>>; }, "strip", z.ZodTypeAny, { installationTime: number; connectionType?: "Bolt-on" | "Welded" | "Clip-on" | "Adhesive" | "Mortar" | "Snap-fit" | "Plug-and-Play" | "Dry Joint" | undefined; compatibility?: "Steel Frame" | "Wood Frame" | "Concrete Structure" | "Brickwork" | "Modular Systems" | "Glass Facades" | "Composite Materials" | "CLT" | "Light Gauge Steel" | "Masonry Infill" | undefined; }, { installationTime: number; connectionType?: "Bolt-on" | "Welded" | "Clip-on" | "Adhesive" | "Mortar" | "Snap-fit" | "Plug-and-Play" | "Dry Joint" | undefined; compatibility?: "Steel Frame" | "Wood Frame" | "Concrete Structure" | "Brickwork" | "Modular Systems" | "Glass Facades" | "Composite Materials" | "CLT" | "Light Gauge Steel" | "Masonry Infill" | undefined; }>>; lifecycleAndMaintenance: z.ZodOptional<z.ZodObject<{ expectedLifespan: z.ZodOptional<z.ZodNumber>; maintenanceRequirements: z.ZodOptional<