import { AssetExporterEventMap } from '../AssetExporter'; import { IGeometry, IMaterial, IObject3D, ITexture } from '../../core'; export interface AssetExportHooks { objectGeometry?: (obj: IObject3D, geometry: IGeometry, root: IObject3D) => IGeometry | null | undefined; objectGeometryReplace?: (obj: IObject3D, geometry: IGeometry) => void; object?: (obj: IObject3D, root: IObject3D) => void; objectMaterials?: (obj: IObject3D, materials: IMaterial | IMaterial[] | undefined) => void; objectMaterial?: (obj: IObject3D, material: IMaterial, root: IObject3D, materialIndex?: number) => undefined | (() => IMaterial); objectMaterialsReplace?: (obj: IObject3D, materials: IMaterial | IMaterial[]) => void; replaceTexture?: (obj: IObject3D | IMaterial, texture: ITexture, mapName: string, root: IObject3D | IMaterial) => ITexture | null; revertTextures?: (obj: IObject3D | IMaterial) => void; revertObject?: (obj: IObject3D) => void; } export declare const assetExportHook: (e: AssetExporterEventMap["exportFile"], hooks: AssetExportHooks) => void; declare module '../../core/IObject' { interface IObject3D { __exportState?: { objectList: Set; meshLines: Map; fomMap: Map; geomMap: Map; matCloneMap: Map; savedTextures: Map>; }; } } declare module '../../core/IMaterial' { interface IMaterial { __exportState?: { savedMaps: Record | null; }; } } //# sourceMappingURL=../../src/assetmanager/export/assetExportHook.d.ts.map