/**
 * Semi-Lagrangian self-advection of a cell-centered 3D velocity field.
 *
 * For each cell, traces backward along the current velocity for one timestep, then
 * trilinearly samples each input velocity component at that back-traced position.
 * Stable for arbitrarily large `time_delta` (the trade-off is numerical diffusion;
 * the field gets blurrier each step).
 *
 * Inputs and outputs must be disjoint Float32Arrays of length `res_x * res_y * res_z`.
 * Cells flagged solid (non-zero in `solid`) keep their input value unchanged.
 *
 * @param {Float32Array[]} outputs   `[out_x, out_y, out_z]`, mutated.
 * @param {Float32Array[]} inputs    `[in_x, in_y, in_z]`, read; expected to alias the
 *                                   "current" velocity field that drives back-tracing.
 * @param {number} res_x
 * @param {number} res_y
 * @param {number} res_z
 * @param {number} time_delta        Simulation timestep, in the same units as velocity
 *                                   (grid-cells / second when used standalone).
 * @param {Uint8Array} solid         Required cell flags (zero-filled for a wall-free
 *                                   domain); non-zero cells are not updated.
 */
export function v3_grid_apply_advection_forward(outputs: Float32Array[], inputs: Float32Array[], res_x: number, res_y: number, res_z: number, time_delta: number, solid: Uint8Array): void;
//# sourceMappingURL=v3_grid_apply_advection_forward.d.ts.map