import { type Nullable } from "@babylonjs/core/types.js"; import { type Matrix } from "@babylonjs/core/Maths/math.vector.js"; import { Color3 } from "@babylonjs/core/Maths/math.color.js"; import { type BaseTexture } from "@babylonjs/core/Materials/Textures/baseTexture.js"; import { type IShadowLight } from "@babylonjs/core/Lights/shadowLight.js"; import { PushMaterial } from "@babylonjs/core/Materials/pushMaterial.js"; import { type AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js"; import { type SubMesh } from "@babylonjs/core/Meshes/subMesh.js"; import { type Mesh } from "@babylonjs/core/Meshes/mesh.js"; import { Scene } from "@babylonjs/core/scene.js"; import "./shadowOnly.fragment.js"; import "./shadowOnly.vertex.js"; export declare class ShadowOnlyMaterial extends PushMaterial { private _activeLight; private _needAlphaBlending; constructor(name: string, scene?: Scene); shadowColor: Color3; needAlphaBlending(): boolean; needAlphaTesting(): boolean; getAlphaTestTexture(): Nullable; get activeLight(): IShadowLight; set activeLight(light: IShadowLight); private _getFirstShadowLightForMesh; isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean; bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void; clone(name: string): ShadowOnlyMaterial; serialize(): any; getClassName(): string; static Parse(source: any, scene: Scene, rootUrl: string): ShadowOnlyMaterial; }