import { JSX } from 'solid-js'; import { GpuShaderDefinition, BlendMode, PropDriver, TransformConfig, BoundingBoxConfig, LayoutConfig } from '../../core'; /** * `` * * Mounts a user-defined shader (a `defineShader` result from `shaders/std`) as a node in the * shader tree — the same registration, uniform bridge, metadata and child slot the generated * library components use, with the definition supplied at runtime instead of imported at * build time. Shader props are typed from the definition. * * Swapping `src` for a new definition object re-registers the node in place (children stay * attached); the definition's `revision` makes the renderer recompose. */ export interface CustomShaderLayerProps { 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; } export type CustomShaderProps> = CustomShaderLayerProps & { /** The shader definition (`defineShader({...})`). */ src: GpuShaderDefinition; } & { [K in keyof T]?: T[K] | PropDriver; }; export default function CustomShader = Record>(props: CustomShaderProps): JSX.Element; //# sourceMappingURL=CustomShader.d.ts.map