import { BlendEquationName, BlendingDstFactorName, BlendingName, BlendingSrcFactorName, CombineName, DepthPackingStrategiesName, NormalMapTypesName, SideName, StencilFailName, StencilFuncName, StencilOpName } from '../Constants'; import { TEulerLike } from '../../ThreeLib'; import { Vector2Like } from 'three'; import { TBasicMaterialParamsOptions, TDepthMaterialParamsOptions, TDistanceMaterialParamsOptions, TLambertMaterialParamsOptions, TLineBasicMaterialParamsOptions, TLineDashedMaterialParamsOptions, TMatcapMaterialParamsOptions, TNormalMaterialParamsOptions, TPhongMaterialParamsOptions, TPhysicalMaterialParamsOptions, TPointsMaterialParamsOptions, TShaderMaterialParamsOptions, TShadowMaterialParamsOptions, TSpriteMaterialParamsOptions, TStandardMaterialParamsOptions, TToonMaterialParamsOptions } from './TMaterialParamsOptions'; type TOmitParamsOnlyFields = Omit; export type TBasicMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TDepthMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TDistanceMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TLambertMaterialConfigOptions = TOmitParamsOnlyFields> & TMaterialConfigFields; export type TLineBasicMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TLineDashedMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TMatcapMaterialConfigOptions = TOmitParamsOnlyFields> & TMaterialConfigFields; export type TNormalMaterialConfigOptions = TOmitParamsOnlyFields> & TMaterialConfigFields; export type TPhongMaterialConfigOptions = TOmitParamsOnlyFields> & TMaterialConfigFields; export type TPhysicalMaterialConfigOptions = TOmitParamsOnlyFields>> & TMaterialConfigFields; export type TPointsMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TShaderMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TShadowMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TSpriteMaterialConfigOptions = TOmitParamsOnlyFields & TMaterialConfigFields; export type TStandardMaterialConfigOptions = TOmitParamsOnlyFields> & TMaterialConfigFields; export type TToonMaterialConfigOptions = TOmitParamsOnlyFields> & TMaterialConfigFields; export type TMaterialConfigOptions = TBasicMaterialConfigOptions | TDepthMaterialConfigOptions | TDistanceMaterialConfigOptions | TLambertMaterialConfigOptions | TLineBasicMaterialConfigOptions | TLineDashedMaterialConfigOptions | TMatcapMaterialConfigOptions | TNormalMaterialConfigOptions | TPhongMaterialConfigOptions | TPhysicalMaterialConfigOptions | TPointsMaterialConfigOptions | TShaderMaterialConfigOptions | TShadowMaterialConfigOptions | TSpriteMaterialConfigOptions | TStandardMaterialConfigOptions | TToonMaterialConfigOptions; export type TMaterialConfigFields = Readonly<{ blendDst?: BlendingDstFactorName; blendEquation?: BlendEquationName; blendSrc?: BlendingSrcFactorName | BlendingDstFactorName; blending?: BlendingName; clearcoatNormalScale?: Vector2Like; combine?: CombineName; depthPacking?: DepthPackingStrategiesName; envMapRotation?: TEulerLike; normalMapType?: NormalMapTypesName; normalScale?: Vector2Like; side?: SideName; stencilFail?: StencilFailName; stencilFunc?: StencilFuncName; stencilZFail?: StencilOpName; stencilZPass?: StencilOpName; }>; type TWithNormalScaleConfig = Omit & Readonly<{ normalScale?: Vector2Like; }>; type TWithClearCoatNormalScaleConfig = Omit & Readonly<{ clearcoatNormalScale?: Vector2Like; }>; export {};