import { ConstructorProps, ContextManager, Observable } from '@zcomponent/core'; import { Material } from './Material'; import { MeshSideBySideAlphaMaterial as MeshSideBySideAlphaMaterialInternal, SideBySideDirection } from '../../internal/MeshSideBySideAlphaMaterial'; /** * * Material for rendering meshes with side-by-side alpha blending. * * Root element: [THREE.ShaderMaterial](https://threejs.org/docs/index.html#api/en/materials/ShaderMaterial) * * * @zcomponent * @zgroup Materials * @zicon material * @ztag three/Material/Mesh/MeshSideBySideAlphaMaterial * @zparents three/Object3D/Mesh/** * @zparents three/Object3D/Group/** * @zparents three/MaterialHost/** */ export declare class MeshSideBySideAlphaMaterial extends Material { element: MeshSideBySideAlphaMaterialInternal; /** * Constructs a MeshSideBySideAlphaMaterial instance. * * @param contextManager - The context manager. * @param props Initial properties for the material. */ constructor(contextManager: ContextManager, props: ConstructorProps); private _frame; /** * Observable property to set the direction of texture blending in the material. * * It determines whether textures are blended side by side either left-to-right or top-to-bottom. * * @zprop * @zgroup MeshSideBySideAlphaMaterial * @zgrouppriority 20 * @zdefault LeftRight */ direction: Observable; /** * * Observable property to specify the order of alpha texture processing in the blending. * When set to true, the alpha texture is processed first. * * If false, the color texture is processed first. * * @zprop * @zgroup MeshSideBySideAlphaMaterial * @zgrouppriority 20 * @zdefault false */ alphaFirst: Observable; }