import { JSX } from 'solid-js'; import { BlendMode, PropDriver, TransformConfig, BoundingBoxConfig, LayoutConfig } from '../../core'; import { ComponentProps } from '../../core/shaders/Voxels'; export type { ComponentProps }; /** * Base props that all shader components have */ interface BaseShaderProps { children?: JSX.Element; blendMode?: BlendMode; opacity?: number; visible?: boolean; id?: string; maskSource?: string; maskType?: string; renderOrder?: number; transform?: Partial; boundingBox?: Partial; flow?: LayoutConfig; absolute?: boolean; } /** * Component-specific props that merge base props with shader-specific props * Note: ComponentProps are made optional since they have defaults from the shader definition */ type ShaderComponentProps = BaseShaderProps & Partial> & { center?: ComponentProps['center'] | PropDriver; colorVariation?: ComponentProps['colorVariation'] | PropDriver; lightAngle?: ComponentProps['lightAngle'] | PropDriver; lightElevation?: ComponentProps['lightElevation'] | PropDriver; lightIntensity?: ComponentProps['lightIntensity'] | PropDriver; ambient?: ComponentProps['ambient'] | PropDriver; shadows?: ComponentProps['shadows'] | PropDriver; shadowSoftness?: ComponentProps['shadowSoftness'] | PropDriver; ao?: ComponentProps['ao'] | PropDriver; glossiness?: ComponentProps['glossiness'] | PropDriver; specular?: ComponentProps['specular'] | PropDriver; seams?: ComponentProps['seams'] | PropDriver; }; /** * The main Solid wrapper component for Shader shader nodes */ export default function ShaderComponent(props: ShaderComponentProps): JSX.Element; //# sourceMappingURL=Voxels.d.ts.map