import { Project } from '../../project/project'; import { Exporter, ExportOptions } from '../exporter'; export interface GLTFExportOptions extends ExportOptions { scale?: number; binary?: boolean; embed_textures?: boolean; export_animations?: boolean; } /** * GLTF exporter * Exports project geometry to GLTF format (JSON or binary GLB) * * Returns: * - JSON object when binary=false (glTF JSON format) * - ArrayBuffer when binary=true (GLB binary format) * * Note: This is a simplified GLTF exporter. For full GLTF support with * animations, materials, and textures, consider using Three.js GLTFExporter * or a more complete GLTF library. */ export declare class GLTFExporter implements Exporter { export(project: Project, options?: GLTFExportOptions): any | ArrayBuffer; private getGeometryData; private getCubeGeometry; private getMeshGeometry; private createBuffer; private getMin; private getMax; private eulerToQuaternion; private arrayBufferToBase64; /** * Build animation tracks from project animations */ private buildAnimationTracks; /** * Create GLB (binary GLTF) format * GLB structure: * - 12-byte header (magic, version, total length) * - JSON chunk (length, type, JSON data) * - Binary chunk (length, type, binary data) */ private createGLB; /** * Convert string to ArrayBuffer */ private stringToArrayBuffer; /** * Pad ArrayBuffer to specified boundary (typically 4 bytes) */ private padToBoundary; } //# sourceMappingURL=gltf_exporter.d.ts.map