export interface Unit {
    /**
     * SI base dimension vector ({@link Dimensions})
     */
    dim: Dimensions;
    /**
     * Scaling factor relative to the coherent unit
     */
    scale: number;
    /**
     * Zero offset value
     */
    offset: number;
    /**
     * True, if this unit is coherent.
     *
     * @remarks
     * Reference:
     * - https://en.wikipedia.org/wiki/Coherence_(units_of_measurement)
     */
    coherent: boolean;
}
export interface NamedUnit extends Unit {
    /**
     * Symbol under which this unit can be looked up with via {@link asUnit} and
     * others.
     */
    sym: string;
    /**
     * This unit's human readable description/name.
     */
    name: string;
}
export type MaybeUnit = Unit | string;
/**
 * Vector of the 7 basic SI unit dimensions.
 *
 * @remarks
 * In order:
 *
 * - 0 = mass
 * - 1 = length
 * - 2 = time
 * - 3 = current
 * - 4 = temperature
 * - 5 = amount of substance
 * - 6 = luminous intensity
 *
 * Note: For dimensionless units, all dimensions are zero.
 *
 * Reference:
 * https://en.wikipedia.org/wiki/SI_base_unit
 */
export type Dimensions = [
    number,
    number,
    number,
    number,
    number,
    number,
    number
];
/**
 * A known metric prefix.
 */
export type Prefix = keyof typeof PREFIXES;
/**
 * @remarks
 * Reference:
 * https://en.wikipedia.org/wiki/Metric_prefix
 */
export declare const PREFIXES: {
    Q: number;
    R: number;
    Y: number;
    Z: number;
    E: number;
    P: number;
    T: number;
    G: number;
    M: number;
    k: number;
    h: number;
    d: number;
    c: number;
    m: number;
    µ: number;
    n: number;
    p: number;
    f: number;
    a: number;
    z: number;
    y: number;
    r: number;
    q: number;
};
/**
 * Dimensionless unit preset.
 */
export declare const NONE: Unit;
//# sourceMappingURL=api.d.ts.map