import { TWrapper } from '../../Abstract'; import { LineBasicMaterial, LineDashedMaterial, MeshBasicMaterial, MeshDepthMaterial, MeshDistanceMaterial, MeshLambertMaterial, MeshMatcapMaterial, MeshNormalMaterial, MeshPhongMaterial, MeshPhysicalMaterial, MeshStandardMaterial, MeshToonMaterial, PointsMaterial, RawShaderMaterial, ShaderMaterial, ShadowMaterial, SpriteMaterial } from 'three'; import { TMaterialConfig } from './TMaterialConfig'; import { TMaterialEntityToConfigDependencies } from './TMaterialEntityToConfigDependencies'; import { TMaterials } from './TMaterials'; export type TAbstractMaterialWrapper = Omit, 'serialize'> & Readonly<{ serialize: (dependencies: TMaterialEntityToConfigDependencies) => TMaterialConfig; }>; export type TLineBasicMaterialWrapper = TAbstractMaterialWrapper; export type TLineDashedMaterialWrapper = TAbstractMaterialWrapper; export type TBasicMaterialWrapper = TAbstractMaterialWrapper; export type TDepthMaterialWrapper = TAbstractMaterialWrapper; export type TDistanceMaterialWrapper = TAbstractMaterialWrapper; export type TLambertMaterialWrapper = TAbstractMaterialWrapper; export type TMatcapMaterialWrapper = TAbstractMaterialWrapper; export type TNormalMaterialWrapper = TAbstractMaterialWrapper; export type TPhongMaterialWrapper = TAbstractMaterialWrapper; export type TPhysicalMaterialWrapper = TAbstractMaterialWrapper; export type TStandardMaterialWrapper = TAbstractMaterialWrapper; export type TToonMaterialWrapper = TAbstractMaterialWrapper; export type TPointsMaterialWrapper = TAbstractMaterialWrapper; export type TRawShaderMaterialWrapper = TAbstractMaterialWrapper; export type TShaderMaterialWrapper = TAbstractMaterialWrapper; export type TShadowMaterialWrapper = TAbstractMaterialWrapper; export type TSpriteMaterialWrapper = TAbstractMaterialWrapper; export type TAnyMaterialWrapper = TLineBasicMaterialWrapper | TLineDashedMaterialWrapper | TBasicMaterialWrapper | TDepthMaterialWrapper | TDistanceMaterialWrapper | TLambertMaterialWrapper | TMatcapMaterialWrapper | TNormalMaterialWrapper | TPhongMaterialWrapper | TPhysicalMaterialWrapper | TStandardMaterialWrapper | TToonMaterialWrapper | TPointsMaterialWrapper | TRawShaderMaterialWrapper | TShaderMaterialWrapper | TShadowMaterialWrapper | TSpriteMaterialWrapper;