import { Object3D, Vector3 } from "three";
import { type GLTFExporterOptions } from 'three/examples/jsm/exporters/GLTFExporter.js';
import { BoxHelperComponent } from "../../BoxHelperComponent.js";
import { Behaviour } from "../../Component.js";
declare type ExportOptions = GLTFExporterOptions & {
    pivot?: Vector3;
    needleComponents?: boolean;
};
export declare const componentsArrayExportKey = "$___Export_Components";
export declare class GltfExportBox extends BoxHelperComponent {
    sceneRoot?: Object3D;
}
/**
 * @category Asset Management
 * @group Components
 */
export declare class GltfExport extends Behaviour {
    binary: boolean;
    objects: Object3D[];
    private ext?;
    exportNow(name: string, opts?: ExportOptions): Promise<boolean>;
    export(objectsToExport: Object3D[], opts?: ExportOptions): Promise<any>;
    private static saveArrayBuffer;
    private static saveJson;
    private static save;
    private static collectAnimations;
    private static calculateCenter;
    private static filterTopmostParent;
}
export {};
