/**
 * Critical-point enumerator for the dimension-agnostic Hermite curve-pair
 * intersection / closest-approach problem (dim ≥ 2; the dispatcher routes all
 * dim ≥ 2 here). Writes (s, t) pairs sequentially into `result` starting at
 * `result_offset` and returns the count.
 *
 * What is reported (deduplicated within
 * CRITICAL_POINT_DEDUPE_TOLERANCE = 1e-7 in each parameter):
 *   - Interior critical points of squared distance found by 2D Newton
 *     started from a GRID_SIDE × GRID_SIDE grid in [0,1]² and accepted
 *     when they converge inside [0,1]² with small gradient.
 *   - Four boundary closest-approach pairs, one per edge of [0,1]², each
 *     coming from a quintic root-find of (curve − fixed point)·curve′.
 *
 * Caller is responsible for evaluating both curves at each (s, t) and
 * picking whichever pair(s) they care about (closest, within threshold,
 * etc.).
 *
 * Required buffer size:
 *   `result.length >= result_offset + 2 * ND_MAX_ROOTS` floats (currently 178).
 *
 * @param {Float64Array|number[]} a length 4*dim
 * @param {Float64Array|number[]} b length 4*dim
 * @param {number} dim ≥ 2
 * @param {Float64Array|number[]} result length >= result_offset + 2 * ND_MAX_ROOTS
 * @param {number} result_offset
 * @returns {number} number of (s, t) pairs written
 */
export function spline3_hermite_intersection_spline3_hermite_nd(a: Float64Array | number[], b: Float64Array | number[], dim: number, result: Float64Array | number[], result_offset: number): number;
/**
 * Upper bound on the number of (s, t) pairs the ND variant can return:
 * one per starting point of the GRID_SIDE × GRID_SIDE grid Newton, plus the
 * four boundary edges, plus a small slack. The corresponding result-buffer
 * size in floats is `2 * ND_MAX_ROOTS`.
 *
 * @type {number}
 */
export const ND_MAX_ROOTS: number;
//# sourceMappingURL=spline3_hermite_intersection_spline3_hermite_nd.d.ts.map