import { TMaterialParams, TMaterials } from '../Models'; import { TEulerLike, TEulerString } from '../../ThreeLib'; import { LineDashedMaterial, Material, MeshBasicMaterial, MeshDepthMaterial, MeshLambertMaterial, MeshMatcapMaterial, MeshPhongMaterial, MeshPhysicalMaterial, MeshStandardMaterial, PointsMaterial, SpriteMaterial, Vector2Like, Vector3Like } from 'three'; export declare function isPointsMaterial>(material: PointsMaterial | T): material is PointsMaterial; export declare function isPhysicalMaterial>(material: MeshPhysicalMaterial | T): material is MeshPhysicalMaterial; export declare function isLineDashedMaterial>(material: LineDashedMaterial | T): material is LineDashedMaterial; export declare function isBasicMaterial>(material: MeshBasicMaterial | T): material is MeshBasicMaterial; export declare function isStandardMaterial>(material: MeshStandardMaterial | T): material is MeshStandardMaterial; export declare function isLambertMaterial>(material: MeshLambertMaterial | T): material is MeshLambertMaterial; export declare function isDepthMaterial>(material: MeshDepthMaterial | T): material is MeshDepthMaterial; export declare function isMatcapMaterial>(material: MeshMatcapMaterial | T): material is MeshMatcapMaterial; export declare function isNodeMaterial>(material: SpriteMaterial | T): material is SpriteMaterial; export declare function isPhongMaterial>(material: MeshPhongMaterial | T): material is MeshPhongMaterial; export declare function buildMaterial(params: TMaterialParams): TMaterials; export declare function getOptionName(option: V, optionsMap: Readonly>, name: string): T | never; export declare function getOptionNameIfPossible(option: V | undefined, optionsMap: Readonly>, name: string): T | undefined; export declare function vector2ToXyIfPossible(vector: Vector2Like | undefined): Readonly<{ x: number; y: number; }>; export declare function vector3ToXyzIfPossible(vector: Vector3Like | undefined): Readonly<{ x: number; y: number; z: number; }>; export declare function eulerToXyzIfPossible(euler: TEulerLike | TEulerString | undefined): Readonly<{ x: number; y: number; z: number; order?: 'XYZ' | 'XZY' | 'YXZ' | 'YZX' | 'ZXY' | 'ZYX'; }>;