import type { ComputeNode } from 'three/webgpu'; import type { TSLFloatNode, TSLStorageNode } from '../../../types/tsl.js'; import { type SPHSpatialGrid } from './SPHGridContracts.js'; /** * Compute pressure and viscosity together with one grid traversal. * Stores their sum in the total-acceleration buffer and optionally writes * the individual diagnostic components. * * @returns {*} Compute node. */ export declare function computeForcesPassGrid(positionsBuffer: TSLStorageNode<'vec3'>, velocitiesBuffer: TSLStorageNode<'vec3'>, densitiesBuffer: TSLStorageNode<'float'>, pressuresBuffer: TSLStorageNode<'float'>, forcesBuffer: TSLStorageNode<'vec3'>, particleCount: number, mass: TSLFloatNode, h: TSLFloatNode, spiky: TSLFloatNode, viscosity: TSLFloatNode, viscosityMu: TSLFloatNode, grid: SPHSpatialGrid, is3D: boolean, pressureAccelerationBuffer?: TSLStorageNode<'vec3'> | null, viscosityAccelerationBuffer?: TSLStorageNode<'vec3'> | null): ComputeNode;