import type { ArrowFunction, LC } from '@use-gpu/live'; import type { StorageSource, Lazy, UniformAttribute, VectorLike, VolatileAllocation } from '@use-gpu/core'; import type { ShaderModule } from '@use-gpu/shader'; import { Ref } from '@use-gpu/live'; export type DispatchProps = { size?: Lazy; group?: Lazy; indirect?: StorageSource | null; shader: ShaderModule; globalLayout?: GPUBindGroupLayout | null; globalBinding?: (pipeline: GPURenderPipeline) => VolatileAllocation; globalDefs?: UniformAttribute[][]; globalUniforms?: Record>; pipelineKey?: string | number; customLayouts?: GPUBindGroupLayout[]; shouldDispatch?: () => boolean | number | null | undefined; onDispatch?: () => void; defines?: Record; label?: string; }; export declare const Dispatch: LC; export declare const dispatch: (props: DispatchProps) => (() => void) | Record;