import type { LiveElement, LC, PropsWithChildren } from '@use-gpu/live'; import type { TypedArray, StorageSource, Emit } from '@use-gpu/core'; import type { ShaderModule } from '@use-gpu/shader'; export type StructDataProps = PropsWithChildren<{ /** Set/override input length */ length?: number; /** Struct WGSL type */ format?: 'T' | 'array'; type?: ShaderModule; /** Input data */ data?: Record[]; /** Input emitter expression */ expr?: (emit: Emit, ...args: any[]) => void; /** Emit 0 or 1 item per `expr` call. */ sparse?: boolean; /** Add current `TimeContext` to the `expr` arguments. */ time?: boolean; /** Resample `data` or `expr` on every animation frame. */ live?: boolean; /** Leave empty to yeet source instead. */ render?: (source: StorageSource) => LiveElement; children?: (source: StorageSource) => LiveElement; }>; export declare const StructData: LC;