import { Curve, Intersection, Object3D, Raycaster } from "three";
import { Entity } from "../DatabaseServices/Entity/Entity";
import { PhysicalMaterialRecord } from "../DatabaseServices/PhysicalMaterialRecord";
import { Text } from "../DatabaseServices/Text/Text";
import { VisualSpaceBox } from "../Editor/VisualSpaceBox";
export declare const FilterTypes: (typeof Text | typeof Curve | typeof VisualSpaceBox)[];
/**
 * 应用材质命令：应用材质到 app SelectEntityList
 * @param material 要应用的材质
 * @param canApplyToBoardGoodsInfo 是否可以应用到板材商品信息 （部分材质不可以应用到板材）
 */
export declare function ApplyMtlToSelectEntityListCmd(material: PhysicalMaterialRecord, canApplyToBoardGoodsInfo?: boolean): void;
/**
 * 应用材质到 app SelectEntityList
 * @param material 要应用的材质
 * @param canApplyToBoardGoodsInfo 是否可以应用到板材商品信息 （部分材质不可以应用到板材）
 */
export declare function ApplyMtlToSelectEntityList(material: PhysicalMaterialRecord, canApplyToBoardGoodsInfo?: boolean): void;
/**
 * 应用材质到射线相交处的面
 * @param material 材质
 * @param en 实体
 * @param intersection 射线相交信息
 * @param raycaster 射线
 */
export declare function ApplyPartMtlToInterFace(material: PhysicalMaterialRecord, en: Entity, intersection: Intersection, raycaster: Raycaster): void;
/**
 * 应用材质到选中的实体
 * @param {PhysicalMaterialRecord} material 材质
 * @param {Object3D[]} selectedObj 选中的实体
 */
export declare function ApplyMtlToSelectedObjs(material: PhysicalMaterialRecord, selectedObj: Object3D[]): void;
/**
 * 获取使用指定材质的实体
 * @param {PhysicalMaterialRecord} mtl 材质
 * @param {boolean} [containErasedMtl=false]  是否包含被删除的材质
 * @return {*}  {Entity[]}
 */
export declare function GetUseCurMtlEntities(mtl: PhysicalMaterialRecord, containErasedMtl?: boolean): Entity[];
//# sourceMappingURL=ApplyMaterial.d.ts.map