export type FluidDimension = number | string; export interface FluidKernelCoefficients { h: number; h2: number; h6: number; poly6Kernel: number; spiky: number; viscosity: number; dimension: 2 | 3; } export type FluidKernelCoefficients3D = Omit; export type FluidDisplacement = readonly number[]; /** * Return Poly6, Spiky-gradient, and viscosity-laplacian coefficients. * * @param {number} smoothingRadius Compact support radius. * @param {number|string} [dimension=3] Spatial dimension. * @returns {{h:number,h2:number,h6:number,poly6Kernel:number,spiky:number,viscosity:number,dimension:number}} */ export declare function fluidKernelCoefficients(smoothingRadius: number, dimension?: FluidDimension): FluidKernelCoefficients; /** Evaluate the active Poly6 density kernel. */ export declare function poly6KernelValue(distance: number, smoothingRadius: number, dimension?: FluidDimension): number; /** Evaluate grad_i W( x_i - x_j ) for the active Spiky kernel. */ export declare function spikyGradient(displacement: FluidDisplacement, smoothingRadius: number, dimension?: FluidDimension): [number, number, number]; /** Evaluate the scalar Spiky kernel whose derivative is `spikyGradient`. */ export declare function spikyKernelValue(distance: number, smoothingRadius: number, dimension?: FluidDimension): number; /** Evaluate the active viscosity-kernel Laplacian. */ export declare function viscosityLaplacianValue(distance: number, smoothingRadius: number, dimension?: FluidDimension): number; /** Backward-compatible 3D kernel-coefficient helper. */ export declare function kernels3D(smoothingRadius: number): FluidKernelCoefficients3D; /** Backward-compatible 2D kernel-coefficient helper. */ export declare function kernels2D(smoothingRadius: number): FluidKernelCoefficients3D;