import { MeshStandardMaterial, Vector3, Object3D, Mesh } from 'three'; import { DecalUVMapType } from '@three3d/decal'; import { BaseObjectInfo, IColor } from '../Interface'; import { BaseObject3D } from './BaseObject3D'; export { DecalUVMapType, }; export interface DecalInfo extends BaseObjectInfo { url?: string; color?: IColor; opacity?: number; snapping?: boolean; snappingDistance?: number; snappingTargets?: Object3D[]; uvMap?: DecalUVMapType; offsetFactor?: number; offsetUnits?: number; epsilon?: number; absoluteEpsilon?: boolean; branchFace?: boolean; } export type DecalMaterialInfo = Pick; export type DecalGeometryInfo = Pick; declare class Decal extends BaseObject3D { readonly params: DecalInfo; decalMesh: Mesh, MeshStandardMaterial, import('three').Object3DEventMap>; textureAspect: Vector3; constructor(params: DecalInfo); updateTexture(url: DecalInfo['url']): Promise; updateMaterial(params?: DecalMaterialInfo): void; } export { Decal, };