import { BlobExt, ExportFileOptions } from '../../assetmanager';
import { AViewerPluginSync, ThreeViewer } from '../../viewer';
import { UiObjectConfig } from 'uiconfig.js';
export interface ExportAssetOptions extends ExportFileOptions {
    convertMeshToIndexed?: boolean;
    name?: string;
    compress?: boolean;
}
/**
 * Asset Exporter Plugin
 * Provides options and methods to export the scene, object GLB or Viewer Config.
 * All the functionality is available in the viewer directly, this provides only a ui-config and maintains state of the options.
 */
export declare class AssetExporterPlugin extends AViewerPluginSync {
    static readonly PluginType = "AssetExporterPlugin";
    enabled: boolean;
    constructor();
    onAdded(viewer: ThreeViewer): void;
    onRemove(viewer: ThreeViewer): void;
    readonly exportOptions: ExportAssetOptions;
    exportScene(options?: ExportAssetOptions): Promise<BlobExt | undefined>;
    downloadSceneGlb(): Promise<void>;
    exportSelected(options?: ExportAssetOptions, download?: boolean): Promise<BlobExt | undefined>;
    uiConfig: UiObjectConfig;
}
//# sourceMappingURL=../../src/plugins/export/AssetExporterPlugin.d.ts.map