/**
 * Converts a numeric value from one data size unit to another.
 *
 * Supports both byte units (B, KB, MB, GB, TB) and bit units (b, Kb, Mb, Gb, Tb).
 *
 * @param {number} [decimals=2] - Number of decimal places to round the result to.
 * @param {'B'|'KB'|'MB'|'GB'|'TB'|'b'|'Kb'|'Mb'|'Gb'|'Tb'} [inputUnit='B'] - Unit of the input value.
 * @param {'B'|'KB'|'MB'|'GB'|'TB'|'b'|'Kb'|'Mb'|'Gb'|'Tb'} [targetUnit='B'] - Unit to convert the input value into.
 * @param {number} value - The numeric value to convert.
 * @returns {number} The converted value rounded to the specified decimal places.
 *                   Returns 0 if the input is invalid or results in NaN.
 */
export declare function convertDataUnits({ decimals, inputUnit, targetUnit, value, }: {
    decimals?: number;
    inputUnit?: 'B' | 'KB' | 'MB' | 'GB' | 'TB' | 'b' | 'Kb' | 'Mb' | 'Gb' | 'Tb';
    targetUnit?: 'B' | 'KB' | 'MB' | 'GB' | 'TB' | 'b' | 'Kb' | 'Mb' | 'Gb' | 'Tb';
    value: number;
}): number;
export declare function sanitizeRotation(rotation: number): number;
/** Greatest common divisor (non-negative integers; `gcd(0, 0)` is `0`). */
export declare function gcd(a: number, b: number): number;
/** Reduced ratio as `"w / h"` for UI; `"-- / --"` when width or height is missing/zero. */
export declare function formatAspectRatioString(w: number, h: number): string;
export declare function convertPixelsToAspectRatio(width: number, height: number): {
    height: number;
    width: number;
};
export declare function rotateBox(width: number, height: number, angle: number): {
    height: number;
    width: number;
};
export declare function convertDurationToMilliseconds(duration: string): number;
export declare function extractValueAndUnit(value: string): {
    unit: string;
    value: number;
} | null;
export declare function formatNumberWithGrouping(value: number): string;
