import type { LiveComponent, LiveElement } from '@use-gpu/live'; import type { StorageSource, LambdaSource, Lazy, TensorArray, VectorLike } from '@use-gpu/core'; import type { ShaderSource, ShaderModule } from '@use-gpu/shader'; export type DataShaderProps = { data?: TensorArray; source?: StorageSource | LambdaSource; shader: ShaderModule; sources?: ShaderSource[]; args?: Lazy[]; render?: (source: LambdaSource) => LiveElement; children?: (source: LambdaSource) => LiveElement; }; /** Sample shader for sampling of a linear input buffer. Provides: - `@optional @link fn getDataSize() -> vec4` - `@optional @link fn getData(i: u32) -> T` where `T` is the source format. Unnamed arguments are linked in the order of: args, sources, source | data. */ export declare const DataShader: LiveComponent;