/**
 * Convert a {@link UnitMatrix} into a human-readable string such as `m/s`, `kg·m/s^2` or `Hz`.
 *
 * Output rules:
 *  - dimensions with positive exponent appear in the numerator, joined by `·`
 *  - dimensions with negative exponent appear in the denominator, joined by `·`
 *  - exponents of magnitude 1 are written without a suffix; otherwise `^n` is appended
 *  - dimensionless matrices return an empty string
 *  - if every term lives in the denominator, the numerator is rendered as `1`
 *
 * Optional named-unit registry (`named_units` argument):
 *  - if the matrix is a non-zero scalar multiple of any registry entry, that entry is used
 *    directly: `Hz` for `1/s`, `V` for the volt matrix, `V^2` for its square, `1/V` for its
 *    inverse.
 *  - otherwise the matrix is greedily decomposed against compound registry entries (named
 *    units with at least two non-zero exponents). The algorithm tries to use the fewest terms
 *    possible — `V/m^2` is rendered as `V/m^2` (two terms) rather than `kg/(s^3·A)` (four
 *    terms). Single-dimension entries (`METER`, `SECOND`, ...) are skipped here so the
 *    leftover base residual renders in canonical `Mass·Length·Time·...` order.
 *  - registry order acts as a tiebreaker — the first match wins among options with the same
 *    term-count reduction.
 *
 * @param {UnitMatrix} unit_matrix
 * @param {NamedUnit[]} [named_units] Optional registry of compound-unit symbols.
 * @param {NamedUnit[]} [dimension_units=UNIT_DIMENSION_MAPPING] One {@link NamedUnit} per base dimension, indexed by {@link UnitDimension}. Only the `.symbol` field is read.
 * @returns {string}
 */
export function unit_matrix_to_string(unit_matrix: UnitMatrix, named_units?: NamedUnit[], dimension_units?: NamedUnit[]): string;
//# sourceMappingURL=unit_matrix_to_string.d.ts.map