import type { Mesh } from './mesh'; import type { Texture2D, Texture2DGroup, ColorGroup, CompositeMaterials, MultiProperties, PBSpecularDisplayProperties, PBMetallicDisplayProperties, PBSpecularTextureDisplayProperties, PBMetallicTextureDisplayProperties, TranslucentDisplayProperties } from './materials-extension/types'; /** * XML representation of a vertex */ export interface XmlVertex { '@_x': number; '@_y': number; '@_z': number; } /** * XML representation of a triangle */ export interface XmlTriangle { '@_v1': number; '@_v2': number; '@_v3': number; '@_p1'?: number; '@_p2'?: number; '@_p3'?: number; '@_pid'?: number; } /** * Convert a Mesh object into XML-friendly structure for 3MF */ export declare function meshToXml(mesh: Mesh): { vertices: { vertex: XmlVertex[]; }; triangles: { triangle: XmlTriangle[]; }; }; /** * Convert a Mesh into a full Object XML element for inclusion in resources * @param id Numeric object ID * @param mesh Mesh data to serialize * @param attributes Optional extra XML attributes (@_name, @_partnumber, etc.) */ export declare function objectWithMesh(id: number, mesh: Mesh, attributes?: Record): any; /** * Build a minimal XML object literal for the 3MF section * @param objectId ID of the resource object to include in the build * @param attributes Optional extra XML attributes (e.g. @_transform) */ export declare function buildItemXml(objectId: number, attributes?: Record): any; /** * Top-level 3MF XML structure types for serialization */ export type ObjectElement = ReturnType; export type BuildItemElement = ReturnType; export interface ResourcesXml { object: ObjectElement | ObjectElement[]; } export interface BuildXml { item: BuildItemElement | BuildItemElement[]; } export interface ModelXml { '@_unit': string; '@_xmlns': string; resources: ResourcesXml; build: BuildXml; } export interface ThreeMFXml { model: ModelXml; } /** Build element */ export declare function texture2dToXml(tex: Texture2D): any; /** Build element */ export declare function texture2dGroupToXml(grp: Texture2DGroup): any; /** Build element */ export declare function colorGroupToXml(grp: ColorGroup): any; /** Build element */ export declare function compositeMaterialsToXml(grp: CompositeMaterials): any; /** Build element */ export declare function multiPropertiesToXml(mp: MultiProperties): any; /** Build element */ export declare function pbSpecularDisplayPropertiesToXml(dp: PBSpecularDisplayProperties): any; /** Build element */ export declare function translucentDisplayPropertiesToXml(dp: TranslucentDisplayProperties): any; /** Build element */ export declare function pbMetallicDisplayPropertiesToXml(dp: PBMetallicDisplayProperties): any; /** Build element */ export declare function pbSpecularTextureDisplayPropertiesToXml(dp: PBSpecularTextureDisplayProperties): any; /** Build element */ export declare function pbMetallicTextureDisplayPropertiesToXml(dp: PBMetallicTextureDisplayProperties): any; //# sourceMappingURL=builder.d.ts.map