uom-types 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3603 @@
1
+ // Generated by dts-bundle-generator v9.5.1
2
+
3
+ type PosExponent = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
4
+ type NegExponent = -1 | -2 | -3 | -4 | -5 | -6 | -7 | -8 | -9 | -10 | -11 | -12;
5
+ type Exponent = 0 | PosExponent | NegExponent;
6
+ type SumExponents<A extends Exponent, B extends Exponent> = A extends 0 ? B extends 0 ? 0 : B extends 1 ? 1 : B extends -1 ? -1 : B extends 2 ? 2 : B extends -2 ? -2 : B extends 3 ? 3 : B extends -3 ? -3 : B extends 4 ? 4 : B extends -4 ? -4 : B extends 5 ? 5 : B extends -5 ? -5 : B extends 6 ? 6 : B extends -6 ? -6 : B extends 7 ? 7 : B extends -7 ? -7 : B extends 8 ? 8 : B extends -8 ? -8 : B extends 9 ? 9 : B extends -9 ? -9 : B extends 10 ? 10 : B extends -10 ? -10 : B extends 11 ? 11 : B extends -11 ? -11 : B extends 12 ? 12 : B extends -12 ? -12 : never : A extends 1 ? B extends 0 ? 1 : B extends 1 ? 2 : B extends -1 ? 0 : B extends 2 ? 3 : B extends -2 ? -1 : B extends 3 ? 4 : B extends -3 ? -2 : B extends 4 ? 5 : B extends -4 ? -3 : B extends 5 ? 6 : B extends -5 ? -4 : B extends 6 ? 7 : B extends -6 ? -5 : B extends 7 ? 8 : B extends -7 ? -6 : B extends 8 ? 9 : B extends -8 ? -7 : B extends 9 ? 10 : B extends -9 ? -8 : B extends 10 ? 11 : B extends -10 ? -9 : B extends 11 ? 12 : B extends -11 ? -10 : B extends -12 ? -11 : never : A extends -1 ? B extends 0 ? -1 : B extends 1 ? 0 : B extends -1 ? -2 : B extends 2 ? 1 : B extends -2 ? -3 : B extends 3 ? 2 : B extends -3 ? -4 : B extends 4 ? 3 : B extends -4 ? -5 : B extends 5 ? 4 : B extends -5 ? -6 : B extends 6 ? 5 : B extends -6 ? -7 : B extends 7 ? 6 : B extends -7 ? -8 : B extends 8 ? 7 : B extends -8 ? -9 : B extends 9 ? 8 : B extends -9 ? -10 : B extends 10 ? 9 : B extends -10 ? -11 : B extends 11 ? 10 : B extends -11 ? -12 : B extends 12 ? 11 : never : A extends 2 ? B extends 0 ? 2 : B extends 1 ? 3 : B extends -1 ? 1 : B extends 2 ? 4 : B extends -2 ? 0 : B extends 3 ? 5 : B extends -3 ? -1 : B extends 4 ? 6 : B extends -4 ? -2 : B extends 5 ? 7 : B extends -5 ? -3 : B extends 6 ? 8 : B extends -6 ? -4 : B extends 7 ? 9 : B extends -7 ? -5 : B extends 8 ? 10 : B extends -8 ? -6 : B extends 9 ? 11 : B extends -9 ? -7 : B extends 10 ? 12 : B extends -10 ? -8 : B extends -11 ? -9 : B extends -12 ? -10 : never : A extends -2 ? B extends 0 ? -2 : B extends 1 ? -1 : B extends -1 ? -3 : B extends 2 ? 0 : B extends -2 ? -4 : B extends 3 ? 1 : B extends -3 ? -5 : B extends 4 ? 2 : B extends -4 ? -6 : B extends 5 ? 3 : B extends -5 ? -7 : B extends 6 ? 4 : B extends -6 ? -8 : B extends 7 ? 5 : B extends -7 ? -9 : B extends 8 ? 6 : B extends -8 ? -10 : B extends 9 ? 7 : B extends -9 ? -11 : B extends 10 ? 8 : B extends -10 ? -12 : B extends 11 ? 9 : B extends 12 ? 10 : never : A extends 3 ? B extends 0 ? 3 : B extends 1 ? 4 : B extends -1 ? 2 : B extends 2 ? 5 : B extends -2 ? 1 : B extends 3 ? 6 : B extends -3 ? 0 : B extends 4 ? 7 : B extends -4 ? -1 : B extends 5 ? 8 : B extends -5 ? -2 : B extends 6 ? 9 : B extends -6 ? -3 : B extends 7 ? 10 : B extends -7 ? -4 : B extends 8 ? 11 : B extends -8 ? -5 : B extends 9 ? 12 : B extends -9 ? -6 : B extends -10 ? -7 : B extends -11 ? -8 : B extends -12 ? -9 : never : A extends -3 ? B extends 0 ? -3 : B extends 1 ? -2 : B extends -1 ? -4 : B extends 2 ? -1 : B extends -2 ? -5 : B extends 3 ? 0 : B extends -3 ? -6 : B extends 4 ? 1 : B extends -4 ? -7 : B extends 5 ? 2 : B extends -5 ? -8 : B extends 6 ? 3 : B extends -6 ? -9 : B extends 7 ? 4 : B extends -7 ? -10 : B extends 8 ? 5 : B extends -8 ? -11 : B extends 9 ? 6 : B extends -9 ? -12 : B extends 10 ? 7 : B extends 11 ? 8 : B extends 12 ? 9 : never : A extends 4 ? B extends 0 ? 4 : B extends 1 ? 5 : B extends -1 ? 3 : B extends 2 ? 6 : B extends -2 ? 2 : B extends 3 ? 7 : B extends -3 ? 1 : B extends 4 ? 8 : B extends -4 ? 0 : B extends 5 ? 9 : B extends -5 ? -1 : B extends 6 ? 10 : B extends -6 ? -2 : B extends 7 ? 11 : B extends -7 ? -3 : B extends 8 ? 12 : B extends -8 ? -4 : B extends -9 ? -5 : B extends -10 ? -6 : B extends -11 ? -7 : B extends -12 ? -8 : never : A extends -4 ? B extends 0 ? -4 : B extends 1 ? -3 : B extends -1 ? -5 : B extends 2 ? -2 : B extends -2 ? -6 : B extends 3 ? -1 : B extends -3 ? -7 : B extends 4 ? 0 : B extends -4 ? -8 : B extends 5 ? 1 : B extends -5 ? -9 : B extends 6 ? 2 : B extends -6 ? -10 : B extends 7 ? 3 : B extends -7 ? -11 : B extends 8 ? 4 : B extends -8 ? -12 : B extends 9 ? 5 : B extends 10 ? 6 : B extends 11 ? 7 : B extends 12 ? 8 : never : A extends 5 ? B extends 0 ? 5 : B extends 1 ? 6 : B extends -1 ? 4 : B extends 2 ? 7 : B extends -2 ? 3 : B extends 3 ? 8 : B extends -3 ? 2 : B extends 4 ? 9 : B extends -4 ? 1 : B extends 5 ? 10 : B extends -5 ? 0 : B extends 6 ? 11 : B extends -6 ? -1 : B extends 7 ? 12 : B extends -7 ? -2 : B extends -8 ? -3 : B extends -9 ? -4 : B extends -10 ? -5 : B extends -11 ? -6 : B extends -12 ? -7 : never : A extends -5 ? B extends 0 ? -5 : B extends 1 ? -4 : B extends -1 ? -6 : B extends 2 ? -3 : B extends -2 ? -7 : B extends 3 ? -2 : B extends -3 ? -8 : B extends 4 ? -1 : B extends -4 ? -9 : B extends 5 ? 0 : B extends -5 ? -10 : B extends 6 ? 1 : B extends -6 ? -11 : B extends 7 ? 2 : B extends -7 ? -12 : B extends 8 ? 3 : B extends 9 ? 4 : B extends 10 ? 5 : B extends 11 ? 6 : B extends 12 ? 7 : never : A extends 6 ? B extends 0 ? 6 : B extends 1 ? 7 : B extends -1 ? 5 : B extends 2 ? 8 : B extends -2 ? 4 : B extends 3 ? 9 : B extends -3 ? 3 : B extends 4 ? 10 : B extends -4 ? 2 : B extends 5 ? 11 : B extends -5 ? 1 : B extends 6 ? 12 : B extends -6 ? 0 : B extends -7 ? -1 : B extends -8 ? -2 : B extends -9 ? -3 : B extends -10 ? -4 : B extends -11 ? -5 : B extends -12 ? -6 : never : A extends -6 ? B extends 0 ? -6 : B extends 1 ? -5 : B extends -1 ? -7 : B extends 2 ? -4 : B extends -2 ? -8 : B extends 3 ? -3 : B extends -3 ? -9 : B extends 4 ? -2 : B extends -4 ? -10 : B extends 5 ? -1 : B extends -5 ? -11 : B extends 6 ? 0 : B extends -6 ? -12 : B extends 7 ? 1 : B extends 8 ? 2 : B extends 9 ? 3 : B extends 10 ? 4 : B extends 11 ? 5 : B extends 12 ? 6 : never : A extends 7 ? B extends 0 ? 7 : B extends 1 ? 8 : B extends -1 ? 6 : B extends 2 ? 9 : B extends -2 ? 5 : B extends 3 ? 10 : B extends -3 ? 4 : B extends 4 ? 11 : B extends -4 ? 3 : B extends 5 ? 12 : B extends -5 ? 2 : B extends -6 ? 1 : B extends -7 ? 0 : B extends -8 ? -1 : B extends -9 ? -2 : B extends -10 ? -3 : B extends -11 ? -4 : B extends -12 ? -5 : never : A extends -7 ? B extends 0 ? -7 : B extends 1 ? -6 : B extends -1 ? -8 : B extends 2 ? -5 : B extends -2 ? -9 : B extends 3 ? -4 : B extends -3 ? -10 : B extends 4 ? -3 : B extends -4 ? -11 : B extends 5 ? -2 : B extends -5 ? -12 : B extends 6 ? -1 : B extends 7 ? 0 : B extends 8 ? 1 : B extends 9 ? 2 : B extends 10 ? 3 : B extends 11 ? 4 : B extends 12 ? 5 : never : A extends 8 ? B extends 0 ? 8 : B extends 1 ? 9 : B extends -1 ? 7 : B extends 2 ? 10 : B extends -2 ? 6 : B extends 3 ? 11 : B extends -3 ? 5 : B extends 4 ? 12 : B extends -4 ? 4 : B extends -5 ? 3 : B extends -6 ? 2 : B extends -7 ? 1 : B extends -8 ? 0 : B extends -9 ? -1 : B extends -10 ? -2 : B extends -11 ? -3 : B extends -12 ? -4 : never : A extends -8 ? B extends 0 ? -8 : B extends 1 ? -7 : B extends -1 ? -9 : B extends 2 ? -6 : B extends -2 ? -10 : B extends 3 ? -5 : B extends -3 ? -11 : B extends 4 ? -4 : B extends -4 ? -12 : B extends 5 ? -3 : B extends 6 ? -2 : B extends 7 ? -1 : B extends 8 ? 0 : B extends 9 ? 1 : B extends 10 ? 2 : B extends 11 ? 3 : B extends 12 ? 4 : never : A extends 9 ? B extends 0 ? 9 : B extends 1 ? 10 : B extends -1 ? 8 : B extends 2 ? 11 : B extends -2 ? 7 : B extends 3 ? 12 : B extends -3 ? 6 : B extends -4 ? 5 : B extends -5 ? 4 : B extends -6 ? 3 : B extends -7 ? 2 : B extends -8 ? 1 : B extends -9 ? 0 : B extends -10 ? -1 : B extends -11 ? -2 : B extends -12 ? -3 : never : A extends -9 ? B extends 0 ? -9 : B extends 1 ? -8 : B extends -1 ? -10 : B extends 2 ? -7 : B extends -2 ? -11 : B extends 3 ? -6 : B extends -3 ? -12 : B extends 4 ? -5 : B extends 5 ? -4 : B extends 6 ? -3 : B extends 7 ? -2 : B extends 8 ? -1 : B extends 9 ? 0 : B extends 10 ? 1 : B extends 11 ? 2 : B extends 12 ? 3 : never : A extends 10 ? B extends 0 ? 10 : B extends 1 ? 11 : B extends -1 ? 9 : B extends 2 ? 12 : B extends -2 ? 8 : B extends -3 ? 7 : B extends -4 ? 6 : B extends -5 ? 5 : B extends -6 ? 4 : B extends -7 ? 3 : B extends -8 ? 2 : B extends -9 ? 1 : B extends -10 ? 0 : B extends -11 ? -1 : B extends -12 ? -2 : never : A extends -10 ? B extends 0 ? -10 : B extends 1 ? -9 : B extends -1 ? -11 : B extends 2 ? -8 : B extends -2 ? -12 : B extends 3 ? -7 : B extends 4 ? -6 : B extends 5 ? -5 : B extends 6 ? -4 : B extends 7 ? -3 : B extends 8 ? -2 : B extends 9 ? -1 : B extends 10 ? 0 : B extends 11 ? 1 : B extends 12 ? 2 : never : A extends 11 ? B extends 0 ? 11 : B extends 1 ? 12 : B extends -1 ? 10 : B extends -2 ? 9 : B extends -3 ? 8 : B extends -4 ? 7 : B extends -5 ? 6 : B extends -6 ? 5 : B extends -7 ? 4 : B extends -8 ? 3 : B extends -9 ? 2 : B extends -10 ? 1 : B extends -11 ? 0 : B extends -12 ? -1 : never : A extends -11 ? B extends 0 ? -11 : B extends 1 ? -10 : B extends -1 ? -12 : B extends 2 ? -9 : B extends 3 ? -8 : B extends 4 ? -7 : B extends 5 ? -6 : B extends 6 ? -5 : B extends 7 ? -4 : B extends 8 ? -3 : B extends 9 ? -2 : B extends 10 ? -1 : B extends 11 ? 0 : B extends 12 ? 1 : never : A extends 12 ? B extends 0 ? 12 : B extends -1 ? 11 : B extends -2 ? 10 : B extends -3 ? 9 : B extends -4 ? 8 : B extends -5 ? 7 : B extends -6 ? 6 : B extends -7 ? 5 : B extends -8 ? 4 : B extends -9 ? 3 : B extends -10 ? 2 : B extends -11 ? 1 : B extends -12 ? 0 : never : A extends -12 ? B extends 0 ? -12 : B extends 1 ? -11 : B extends 2 ? -10 : B extends 3 ? -9 : B extends 4 ? -8 : B extends 5 ? -7 : B extends 6 ? -6 : B extends 7 ? -5 : B extends 8 ? -4 : B extends 9 ? -3 : B extends 10 ? -2 : B extends 11 ? -1 : B extends 12 ? 0 : never : never;
7
+ type MultiplyExponents<A extends Exponent, B extends Exponent> = A extends 0 ? B extends 0 ? 0 : B extends 1 ? 0 : B extends -1 ? 0 : B extends 2 ? 0 : B extends -2 ? 0 : B extends 3 ? 0 : B extends -3 ? 0 : B extends 4 ? 0 : B extends -4 ? 0 : B extends 5 ? 0 : B extends -5 ? 0 : B extends 6 ? 0 : B extends -6 ? 0 : B extends 7 ? 0 : B extends -7 ? 0 : B extends 8 ? 0 : B extends -8 ? 0 : B extends 9 ? 0 : B extends -9 ? 0 : B extends 10 ? 0 : B extends -10 ? 0 : B extends 11 ? 0 : B extends -11 ? 0 : B extends 12 ? 0 : B extends -12 ? 0 : never : A extends 1 ? B extends 0 ? 0 : B extends 1 ? 1 : B extends -1 ? -1 : B extends 2 ? 2 : B extends -2 ? -2 : B extends 3 ? 3 : B extends -3 ? -3 : B extends 4 ? 4 : B extends -4 ? -4 : B extends 5 ? 5 : B extends -5 ? -5 : B extends 6 ? 6 : B extends -6 ? -6 : B extends 7 ? 7 : B extends -7 ? -7 : B extends 8 ? 8 : B extends -8 ? -8 : B extends 9 ? 9 : B extends -9 ? -9 : B extends 10 ? 10 : B extends -10 ? -10 : B extends 11 ? 11 : B extends -11 ? -11 : B extends 12 ? 12 : B extends -12 ? -12 : never : A extends -1 ? B extends 0 ? 0 : B extends 1 ? -1 : B extends -1 ? 1 : B extends 2 ? -2 : B extends -2 ? 2 : B extends 3 ? -3 : B extends -3 ? 3 : B extends 4 ? -4 : B extends -4 ? 4 : B extends 5 ? -5 : B extends -5 ? 5 : B extends 6 ? -6 : B extends -6 ? 6 : B extends 7 ? -7 : B extends -7 ? 7 : B extends 8 ? -8 : B extends -8 ? 8 : B extends 9 ? -9 : B extends -9 ? 9 : B extends 10 ? -10 : B extends -10 ? 10 : B extends 11 ? -11 : B extends -11 ? 11 : B extends 12 ? -12 : B extends -12 ? 12 : never : A extends 2 ? B extends 0 ? 0 : B extends 1 ? 2 : B extends -1 ? -2 : B extends 2 ? 4 : B extends -2 ? -4 : B extends 3 ? 6 : B extends -3 ? -6 : B extends 4 ? 8 : B extends -4 ? -8 : B extends 5 ? 10 : B extends -5 ? -10 : B extends 6 ? 12 : B extends -6 ? -12 : never : A extends -2 ? B extends 0 ? 0 : B extends 1 ? -2 : B extends -1 ? 2 : B extends 2 ? -4 : B extends -2 ? 4 : B extends 3 ? -6 : B extends -3 ? 6 : B extends 4 ? -8 : B extends -4 ? 8 : B extends 5 ? -10 : B extends -5 ? 10 : B extends 6 ? -12 : B extends -6 ? 12 : never : A extends 3 ? B extends 0 ? 0 : B extends 1 ? 3 : B extends -1 ? -3 : B extends 2 ? 6 : B extends -2 ? -6 : B extends 3 ? 9 : B extends -3 ? -9 : B extends 4 ? 12 : B extends -4 ? -12 : never : A extends -3 ? B extends 0 ? 0 : B extends 1 ? -3 : B extends -1 ? 3 : B extends 2 ? -6 : B extends -2 ? 6 : B extends 3 ? -9 : B extends -3 ? 9 : B extends 4 ? -12 : B extends -4 ? 12 : never : A extends 4 ? B extends 0 ? 0 : B extends 1 ? 4 : B extends -1 ? -4 : B extends 2 ? 8 : B extends -2 ? -8 : B extends 3 ? 12 : B extends -3 ? -12 : never : A extends -4 ? B extends 0 ? 0 : B extends 1 ? -4 : B extends -1 ? 4 : B extends 2 ? -8 : B extends -2 ? 8 : B extends 3 ? -12 : B extends -3 ? 12 : never : A extends 5 ? B extends 0 ? 0 : B extends 1 ? 5 : B extends -1 ? -5 : B extends 2 ? 10 : B extends -2 ? -10 : never : A extends -5 ? B extends 0 ? 0 : B extends 1 ? -5 : B extends -1 ? 5 : B extends 2 ? -10 : B extends -2 ? 10 : never : A extends 6 ? B extends 0 ? 0 : B extends 1 ? 6 : B extends -1 ? -6 : B extends 2 ? 12 : B extends -2 ? -12 : never : A extends -6 ? B extends 0 ? 0 : B extends 1 ? -6 : B extends -1 ? 6 : B extends 2 ? -12 : B extends -2 ? 12 : never : A extends 7 ? B extends 0 ? 0 : B extends 1 ? 7 : B extends -1 ? -7 : never : A extends -7 ? B extends 0 ? 0 : B extends 1 ? -7 : B extends -1 ? 7 : never : A extends 8 ? B extends 0 ? 0 : B extends 1 ? 8 : B extends -1 ? -8 : never : A extends -8 ? B extends 0 ? 0 : B extends 1 ? -8 : B extends -1 ? 8 : never : A extends 9 ? B extends 0 ? 0 : B extends 1 ? 9 : B extends -1 ? -9 : never : A extends -9 ? B extends 0 ? 0 : B extends 1 ? -9 : B extends -1 ? 9 : never : A extends 10 ? B extends 0 ? 0 : B extends 1 ? 10 : B extends -1 ? -10 : never : A extends -10 ? B extends 0 ? 0 : B extends 1 ? -10 : B extends -1 ? 10 : never : A extends 11 ? B extends 0 ? 0 : B extends 1 ? 11 : B extends -1 ? -11 : never : A extends -11 ? B extends 0 ? 0 : B extends 1 ? -11 : B extends -1 ? 11 : never : A extends 12 ? B extends 0 ? 0 : B extends 1 ? 12 : B extends -1 ? -12 : never : A extends -12 ? B extends 0 ? 0 : B extends 1 ? -12 : B extends -1 ? 12 : never : never;
8
+ interface Brand {
9
+ }
10
+ type BrandUnitMeta<UM extends UnknownUnitMeta> = Brand & {
11
+ __uom_types: {
12
+ unitMeta: UM;
13
+ };
14
+ };
15
+ type BrandUnitClass<UC extends UnknownUnitClass> = Brand & {
16
+ __uom_types: {
17
+ unitClass: UC;
18
+ };
19
+ };
20
+ type BrandUnitClassType = Brand & {
21
+ __uom_types: {
22
+ unitClassType: true;
23
+ };
24
+ };
25
+ type BrandUnitKeyValues<K, V> = Brand & Readonly<{
26
+ __uom_types: {
27
+ keys: K;
28
+ value: V;
29
+ };
30
+ }>;
31
+ type RemoveNeverValues<T extends object> = {
32
+ [K in keyof T as [
33
+ T[K]
34
+ ] extends [
35
+ never
36
+ ] ? never : K]: T[K];
37
+ };
38
+ type ExcludeUnitZeroSubvalues<U extends UnitSubvalues> = {
39
+ [S in keyof U as S extends string ? (U[S] extends 0 ? never : S) : never]: U[S];
40
+ };
41
+ type GetExponent<C extends UnitSubvalues, S> = S extends keyof C ? C[S] : 0;
42
+ type FlatternAlias<T> = {
43
+ [P in keyof T]: T[P];
44
+ } & {};
45
+ type Exactify<T, U extends T> = T & {
46
+ [K in keyof U]: K extends keyof T ? U[K] : never;
47
+ };
48
+ type AbstractUnit<C extends UnitSubvalues> = number & BrandUnitClass<UnitClass<C>>;
49
+ type AbstractUnitFrom<C extends UnknownUnitClass> = C extends UnitClass<infer A> ? AbstractUnit<UnitSubvalues extends A ? {} : A> : never;
50
+ type Unit<C extends UnitSubvalues, M extends UnitSubvalues = {}> = number & BrandUnitClass<UnitClass<C>> & BrandUnitMeta<UnitMeta<M>>;
51
+ type UnitFrom<C extends UnknownUnitClass, M extends UnknownUnitMeta = UnitMeta<{}>> = C extends UnitClass<infer A> ? (M extends UnitMeta<infer B> ? Unit<A, B> : never) : never;
52
+ type UnitConversionRate<M extends UnitSubvalues> = number & BrandUnitMeta<UnitMeta<M>>;
53
+ type UnitClass<T extends UnitSubvalues> = UnitKeyValues<T> & BrandUnitClassType;
54
+ type UnitMeta<T extends UnitSubvalues> = UnitKeyValues<T> & Readonly<{
55
+ __uno_types__unit_meta_type: true;
56
+ }>;
57
+ type UnknownUnit = UnknownAbstractUnit & BrandUnitMeta<UnknownUnitMeta>;
58
+ type UnknownAbstractUnit = number & BrandUnitClass<UnknownUnitClass>;
59
+ type UnknownUnitConversionRate = number & BrandUnitMeta<UnknownUnitMeta>;
60
+ type UnknownUnitClass = UnknownUnitKeyValues & BrandUnitClassType;
61
+ type UnknownUnitMeta = UnknownUnitKeyValues & Readonly<{
62
+ __uno_types__unit_meta_type: true;
63
+ }>;
64
+ type UnitKeyValues<T extends UnitSubvalues> = BrandUnitKeyValues<keyof ExcludeUnitZeroSubvalues<T> extends string ? keyof ExcludeUnitZeroSubvalues<T> : never, RemoveNeverValues<T>>;
65
+ type UnknownUnitKeyValues = BrandUnitKeyValues<string, {}>;
66
+ type UnitSubvalues = Record<string, Exponent>;
67
+ type SiUnitKeys = "Second" | "Meter" | "Kilogram" | "Mole" | "Ampere" | "Candela" | "Kelvin" | "Radian";
68
+ /**
69
+ * The {@link UnitClass} that is the base of all {@link Unit}s defined by this library.
70
+ *
71
+ * @group Unit Classes
72
+ */
73
+ export type BaseUnitClass<T extends Exactify<SiUnitConfig, T>> = UnitClass<T>;
74
+ type SiUnitConfig = Partial<Record<SiUnitKeys, Exponent>>;
75
+ /**
76
+ * @group Unit Classes
77
+ * @category Angle (Plane)
78
+ */
79
+ export type PlaneAngleUnitClass = BaseUnitClass<{
80
+ Radian: 1;
81
+ }>;
82
+ /**
83
+ * @group Abstract Units
84
+ * @category Angle (Plane)
85
+ */
86
+ export type PlaneAngle = AbstractUnitFrom<PlaneAngleUnitClass>;
87
+ /**
88
+ * @group Unit Generators
89
+ * @category Angle (Plane)
90
+ */
91
+ export type PlaneAngleUnit<M extends UnitSubvalues> = PlaneAngleUnitFrom<UnitMeta<M>>;
92
+ /**
93
+ * @group Unit Generators
94
+ * @category Angle (Plane)
95
+ */
96
+ export type PlaneAngleUnitFrom<M extends UnknownUnitMeta> = UnitFrom<PlaneAngleUnitClass, M>;
97
+ /**
98
+ * A unit of {@link PlaneAngle}.
99
+ *
100
+ * One radian is equal to the angle subtended at the centre of a circle by an
101
+ * arc equal in length to the radius.
102
+ * The total plane angle about a point is 2π radian.
103
+ *
104
+ * @group Units
105
+ * @category Base
106
+ * @category Angle (Plane)
107
+ * @symbol `rad`
108
+ */
109
+ export type Radian = PlaneAngleUnit<{}>;
110
+ /**
111
+ * A unit of {@link PlaneAngle}.
112
+ *
113
+ * The total plane angle of a circle is 360 degrees.
114
+ *
115
+ * @group Units
116
+ * @category Angle (Plane)
117
+ * @symbol `°`
118
+ */
119
+ export type Degree = PlaneAngleUnit<{
120
+ scalar360: 1;
121
+ scalar2π: -1;
122
+ }>;
123
+ /**
124
+ * A unit of {@link PlaneAngle}.
125
+ *
126
+ * One gradian is equal to 100th of a right angle.
127
+ * The total plane angle about a point is 400 gradian.
128
+ *
129
+ * @group Units
130
+ * @category Angle (Plane)
131
+ * @symbol `gon`
132
+ */
133
+ export type Gradian = PlaneAngleUnit<{
134
+ scalar400: 1;
135
+ scalar2π: -1;
136
+ }>;
137
+ /**
138
+ * A unit of {@link PlaneAngle}.
139
+ *
140
+ * One turn is equal to 1 full rotation about a point.
141
+ *
142
+ * @group Units
143
+ * @category Angle (Plane)
144
+ * @symbol `tr`
145
+ */
146
+ export type Turn = PlaneAngleUnit<{
147
+ scalar2π: -1;
148
+ }>;
149
+ /**
150
+ * @group Unit Classes
151
+ * @category Angle (Solid)
152
+ */
153
+ export type SolidAngleUnitClass = BaseUnitClass<{
154
+ Radian: 2;
155
+ }>;
156
+ /**
157
+ * @group Abstract Units
158
+ * @category Angle (Solid)
159
+ */
160
+ export type SolidAngle = AbstractUnitFrom<SolidAngleUnitClass>;
161
+ /**
162
+ * @group Unit Generators
163
+ * @category Angle (Solid)
164
+ */
165
+ export type SolidAngleUnit<M extends UnitSubvalues> = SolidAngleUnitFrom<UnitMeta<M>>;
166
+ /**
167
+ * @group Unit Generators
168
+ * @category Angle (Solid)
169
+ */
170
+ export type SolidAngleUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SolidAngleUnitClass, M>;
171
+ /**
172
+ * A unit of {@link SolidAngle}.
173
+ *
174
+ * One steradian is the solid angle of a sphere subtended by a portion of the
175
+ * surface whose area is equal to the square of the sphere's radius.
176
+ * The total solid angle about a point is equal to 4π steradian.
177
+ *
178
+ * @group Units
179
+ * @category Derived
180
+ * @category Angle (Solid)
181
+ * @symbol `sr`
182
+ */
183
+ export type Steradian = SolidAngleUnit<{}>;
184
+ /**
185
+ * @group Unit Classes
186
+ * @category Chemical
187
+ */
188
+ export type AmountOfSubstanceUnitClass = BaseUnitClass<{
189
+ Mole: 1;
190
+ }>;
191
+ /**
192
+ * @group Abstract Units
193
+ * @category Chemical
194
+ */
195
+ export type AmountOfSubstance = AbstractUnitFrom<AmountOfSubstanceUnitClass>;
196
+ /**
197
+ * @group Unit Generators
198
+ * @category Chemical
199
+ */
200
+ export type AmountOfSubstanceUnit<M extends UnitSubvalues> = AmountOfSubstanceUnitFrom<UnitMeta<M>>;
201
+ /**
202
+ * @group Unit Generators
203
+ * @category Chemical
204
+ */
205
+ export type AmountOfSubstanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<AmountOfSubstanceUnitClass, M>;
206
+ /**
207
+ * A unit of {@link AmountOfSubstance}.
208
+ *
209
+ * @group Units
210
+ * @category Base
211
+ * @category Chemical
212
+ * @symbol `mol`
213
+ */
214
+ export type Mole = AmountOfSubstanceUnit<{}>;
215
+ /**
216
+ * @group Unit Classes
217
+ * @category Chemical
218
+ */
219
+ export type CatalyticActivityUnitClass = BaseUnitClass<{
220
+ Mole: 1;
221
+ Second: -1;
222
+ }>;
223
+ /**
224
+ * @group Abstract Units
225
+ * @category Chemical
226
+ */
227
+ export type CatalyticActivity = AbstractUnitFrom<CatalyticActivityUnitClass>;
228
+ /**
229
+ * @group Unit Generators
230
+ * @category Chemical
231
+ */
232
+ export type CatalyticActivityUnit<M extends UnitSubvalues> = CatalyticActivityUnitFrom<UnitMeta<M>>;
233
+ /**
234
+ * @group Unit Generators
235
+ * @category Chemical
236
+ */
237
+ export type CatalyticActivityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<CatalyticActivityUnitClass, M>;
238
+ /**
239
+ * A unit of {@link CatalyticActivity}.
240
+ *
241
+ * @group Units
242
+ * @category Derived
243
+ * @category Chemical
244
+ * @symbol `kat`
245
+ */
246
+ export type Katal = CatalyticActivityUnit<{}>;
247
+ /**
248
+ * @group Unit Classes
249
+ * @category Chemical
250
+ */
251
+ export type MolarConcentrationUnitClass = BaseUnitClass<{
252
+ Mole: 1;
253
+ Meter: -3;
254
+ }>;
255
+ /**
256
+ * @group Abstract Units
257
+ * @category Chemical
258
+ */
259
+ export type MolarConcentration = AbstractUnitFrom<MolarConcentrationUnitClass>;
260
+ /**
261
+ * @group Unit Generators
262
+ * @category Chemical
263
+ */
264
+ export type MolarConcentrationUnit<M extends UnitSubvalues> = MolarConcentrationUnitFrom<UnitMeta<M>>;
265
+ /**
266
+ * @group Unit Generators
267
+ * @category Chemical
268
+ */
269
+ export type MolarConcentrationUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MolarConcentrationUnitClass, M>;
270
+ /**
271
+ * A unit of {@link MolarConcentration}.
272
+ *
273
+ * Equivalent to {@link MolePerCubicMeter}.
274
+ *
275
+ * @group Units
276
+ * @category Chemical
277
+ * @symbol `c`
278
+ */
279
+ export type Concentration = MolarConcentrationUnit<{}>;
280
+ /**
281
+ * A unit of {@link MolarConcentration}.
282
+ *
283
+ * Equivalent to {@link Concentration}.
284
+ *
285
+ * @group Units
286
+ * @category Chemical
287
+ * @symbol `mol/m³`
288
+ */
289
+ export type MolePerCubicMeter = Concentration;
290
+ /**
291
+ * A unit of {@link MolarConcentration}.
292
+ *
293
+ * @group Units
294
+ * @category Chemical
295
+ * @symbol `mol/l`
296
+ */
297
+ export type MolePerLiter = MolarConcentrationUnit<{
298
+ scalar10: 3;
299
+ }>;
300
+ /**
301
+ * @group Unit Classes
302
+ * @category Electromagnetic
303
+ */
304
+ export type ElectricCapacitanceUnitClass = BaseUnitClass<{
305
+ Ampere: 2;
306
+ Second: 4;
307
+ Kilogram: -1;
308
+ Meter: -2;
309
+ }>;
310
+ /**
311
+ * @group Abstract Units
312
+ * @category Electromagnetic
313
+ */
314
+ export type ElectricCapacitance = AbstractUnitFrom<ElectricCapacitanceUnitClass>;
315
+ /**
316
+ * @group Unit Generators
317
+ * @category Electromagnetic
318
+ */
319
+ export type ElectricCapacitanceUnit<M extends UnitSubvalues> = ElectricCapacitanceUnitFrom<UnitMeta<M>>;
320
+ /**
321
+ * @group Unit Generators
322
+ * @category Electromagnetic
323
+ */
324
+ export type ElectricCapacitanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricCapacitanceUnitClass, M>;
325
+ /**
326
+ * A unit of {@link ElectricCapacitance}.
327
+ *
328
+ * One Farad is equal to the capacitance of a capacitor having an equal and opposite charge of 1 coulomb on
329
+ * each plate and a potential difference of 1 volt between the plates.
330
+ *
331
+ * @group Units
332
+ * @category Derived
333
+ * @category Electromagnetic
334
+ * @symbol `F`
335
+ */
336
+ export type Farad = ElectricCapacitanceUnit<{}>;
337
+ /**
338
+ * @group Unit Classes
339
+ * @category Electromagnetic
340
+ */
341
+ export type ElectricChargeDensityUnitClass = BaseUnitClass<{
342
+ Ampere: 1;
343
+ Second: 1;
344
+ Meter: -3;
345
+ }>;
346
+ /**
347
+ * @group Abstract Units
348
+ * @category Electromagnetic
349
+ */
350
+ export type ElectricChargeDensity = AbstractUnitFrom<ElectricChargeDensityUnitClass>;
351
+ /**
352
+ * @group Unit Generators
353
+ * @category Electromagnetic
354
+ */
355
+ export type ElectricChargeDensityUnit<M extends UnitSubvalues> = ElectricChargeDensityUnitFrom<UnitMeta<M>>;
356
+ /**
357
+ * @group Unit Generators
358
+ * @category Electromagnetic
359
+ */
360
+ export type ElectricChargeDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricChargeDensityUnitClass, M>;
361
+ /**
362
+ * A unit of {@link ElectricChargeDensity}.
363
+ *
364
+ * @group Units
365
+ * @category Electromagnetic
366
+ * @symbol `C/m³`
367
+ */
368
+ export type CoulombPerCubicMeter = ElectricChargeDensityUnit<{}>;
369
+ /**
370
+ * @group Unit Classes
371
+ * @category Electromagnetic
372
+ */
373
+ export type ElectricChargeUnitClass = BaseUnitClass<{
374
+ Ampere: 1;
375
+ Second: 1;
376
+ }>;
377
+ /**
378
+ * @group Abstract Units
379
+ * @category Electromagnetic
380
+ */
381
+ export type ElectricCharge = AbstractUnitFrom<ElectricChargeUnitClass>;
382
+ /**
383
+ * @group Unit Generators
384
+ * @category Electromagnetic
385
+ */
386
+ export type ElectricChargeUnit<M extends UnitSubvalues> = ElectricChargeUnitFrom<UnitMeta<M>>;
387
+ /**
388
+ * @group Unit Generators
389
+ * @category Electromagnetic
390
+ */
391
+ export type ElectricChargeUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricChargeUnitClass, M>;
392
+ /**
393
+ * A unit of {@link ElectricCharge}.
394
+ *
395
+ * One Coulomb is equal to the quantity of charge transferred in one second by a steady current of one Ampere.
396
+ *
397
+ * @group Units
398
+ * @category Derived
399
+ * @symbol `C`
400
+ */
401
+ export type Coulomb = ElectricChargeUnit<{}>;
402
+ /**
403
+ * @group Unit Classes
404
+ * @category Electromagnetic
405
+ */
406
+ export type ElectricConductanceUnitClass = BaseUnitClass<{
407
+ Kilogram: -1;
408
+ Meter: -2;
409
+ Second: 3;
410
+ Ampere: 2;
411
+ }>;
412
+ /**
413
+ * @group Abstract Units
414
+ * @category Electromagnetic
415
+ */
416
+ export type ElectricConductance = AbstractUnitFrom<ElectricConductanceUnitClass>;
417
+ /**
418
+ * @group Unit Generators
419
+ * @category Electromagnetic
420
+ */
421
+ export type ElectricConductanceUnit<M extends UnitSubvalues> = ElectricConductanceUnitFrom<UnitMeta<M>>;
422
+ /**
423
+ * @group Unit Generators
424
+ * @category Electromagnetic
425
+ */
426
+ export type ElectricConductanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricConductanceUnitClass, M>;
427
+ /**
428
+ * A unit of {@link ElectricConductance}.
429
+ *
430
+ * One Siemens is equal to one ampere per volt.
431
+ *
432
+ * @group Units
433
+ * @category Electromagnetic
434
+ * @symbol `S`
435
+ */
436
+ export type Siemens = ElectricConductanceUnit<{}>;
437
+ /**
438
+ * @group Unit Classes
439
+ * @category Electromagnetic
440
+ */
441
+ export type ElectricalConductivityUnitClass = BaseUnitClass<{
442
+ Kilogram: -1;
443
+ Meter: -3;
444
+ Second: 3;
445
+ Ampere: 2;
446
+ }>;
447
+ /**
448
+ * @group Abstract Units
449
+ * @category Electromagnetic
450
+ */
451
+ export type ElectricalConductivity = AbstractUnitFrom<ElectricalConductivityUnitClass>;
452
+ /**
453
+ * @group Unit Generators
454
+ * @category Electromagnetic
455
+ */
456
+ export type ElectricalConductivityUnit<M extends UnitSubvalues> = ElectricalConductivityUnitFrom<UnitMeta<M>>;
457
+ /**
458
+ * @group Unit Generators
459
+ * @category Electromagnetic
460
+ */
461
+ export type ElectricalConductivityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricalConductivityUnitClass, M>;
462
+ /**
463
+ * A unit of {@link ElectricalConductivity}.
464
+ *
465
+ * @group Units
466
+ * @category Electromagnetic
467
+ * @symbol `S/m`
468
+ */
469
+ export type SiemensPerMeter = ElectricalConductivityUnit<{}>;
470
+ /**
471
+ * @group Unit Classes
472
+ * @category Electromagnetic
473
+ */
474
+ export type ElectricCurrentDensityUnitClass = BaseUnitClass<{
475
+ Ampere: 1;
476
+ Meter: -2;
477
+ }>;
478
+ /**
479
+ * @group Abstract Units
480
+ * @category Electromagnetic
481
+ */
482
+ export type ElectricCurrentDensity = AbstractUnitFrom<ElectricCurrentDensityUnitClass>;
483
+ /**
484
+ * @group Unit Generators
485
+ * @category Electromagnetic
486
+ */
487
+ export type ElectricCurrentDensityUnit<M extends UnitSubvalues> = ElectricCurrentDensityUnitFrom<UnitMeta<M>>;
488
+ /**
489
+ * @group Unit Generators
490
+ * @category Electromagnetic
491
+ */
492
+ export type ElectricCurrentDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricCurrentDensityUnitClass, M>;
493
+ /**
494
+ * A unit of {@link ElectricCurrentDensity}.
495
+ *
496
+ * @group Units
497
+ * @category Electromagnetic
498
+ * @symbol `A/m²`
499
+ */
500
+ export type AmperePerSquareMeter = ElectricCurrentDensityUnit<{}>;
501
+ /**
502
+ * @group Unit Classes
503
+ * @category Electromagnetic
504
+ */
505
+ export type ElectricCurrentUnitClass = BaseUnitClass<{
506
+ Ampere: 1;
507
+ }>;
508
+ /**
509
+ * @group Abstract Units
510
+ * @category Electromagnetic
511
+ */
512
+ export type ElectricCurrent = AbstractUnitFrom<ElectricCurrentUnitClass>;
513
+ /**
514
+ * @group Unit Generators
515
+ * @category Electromagnetic
516
+ */
517
+ export type ElectricCurrentUnit<M extends UnitSubvalues> = ElectricCurrentUnitFrom<UnitMeta<M>>;
518
+ /**
519
+ * @group Unit Generators
520
+ * @category Electromagnetic
521
+ */
522
+ export type ElectricCurrentUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricCurrentUnitClass, M>;
523
+ /**
524
+ * A unit of {@link ElectricCurrent}.
525
+ *
526
+ * @group Units
527
+ * @category Base
528
+ * @symbol `A`
529
+ */
530
+ export type Ampere = ElectricCurrentUnit<{}>;
531
+ /**
532
+ * @group Unit Classes
533
+ * @category Electromagnetic
534
+ */
535
+ export type ElectricDisplacementFieldUnitClass = BaseUnitClass<{
536
+ Ampere: 1;
537
+ Second: 1;
538
+ Meter: -2;
539
+ }>;
540
+ /**
541
+ * @group Abstract Units
542
+ * @category Electromagnetic
543
+ */
544
+ export type ElectricDisplacementField = AbstractUnitFrom<ElectricDisplacementFieldUnitClass>;
545
+ /**
546
+ * @group Unit Generators
547
+ * @category Electromagnetic
548
+ */
549
+ export type ElectricDisplacementFieldUnit<M extends UnitSubvalues> = ElectricDisplacementFieldUnitFrom<UnitMeta<M>>;
550
+ /**
551
+ * @group Unit Generators
552
+ * @category Electromagnetic
553
+ */
554
+ export type ElectricDisplacementFieldUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricDisplacementFieldUnitClass, M>;
555
+ /**
556
+ * A unit of {@link ElectricDisplacementField}.
557
+ *
558
+ * @group Units
559
+ * @category Electromagnetic
560
+ * @symbol `C/m²`
561
+ */
562
+ export type CoulombPerSquareMeter = ElectricDisplacementFieldUnit<{}>;
563
+ /**
564
+ * @group Unit Classes
565
+ * @category Electromagnetic
566
+ */
567
+ export type ElectricFieldStrengthUnitClass = BaseUnitClass<{
568
+ Kilogram: 1;
569
+ Meter: 1;
570
+ Second: -3;
571
+ Ampere: -1;
572
+ }>;
573
+ /**
574
+ * @group Abstract Units
575
+ * @category Electromagnetic
576
+ */
577
+ export type ElectricFieldStrength = AbstractUnitFrom<ElectricFieldStrengthUnitClass>;
578
+ /**
579
+ * @group Unit Generators
580
+ * @category Electromagnetic
581
+ */
582
+ export type ElectricFieldStrengthUnit<M extends UnitSubvalues> = ElectricFieldStrengthUnitFrom<UnitMeta<M>>;
583
+ /**
584
+ * @group Unit Generators
585
+ * @category Electromagnetic
586
+ */
587
+ export type ElectricFieldStrengthUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricFieldStrengthUnitClass, M>;
588
+ /**
589
+ * A unit of {@link ElectricFieldStrength}.
590
+ *
591
+ * @group Units
592
+ * @category Electromagnetic
593
+ * @symbol `V/m`
594
+ */
595
+ export type VoltPerMeter = ElectricFieldStrengthUnit<{}>;
596
+ /**
597
+ * @group Unit Classes
598
+ * @category Electromagnetic
599
+ */
600
+ export type ElectricInductanceUnitClass = BaseUnitClass<{
601
+ Kilogram: 1;
602
+ Meter: 2;
603
+ Second: -2;
604
+ Ampere: -2;
605
+ }>;
606
+ /**
607
+ * @group Abstract Units
608
+ * @category Electromagnetic
609
+ */
610
+ export type ElectricInductance = AbstractUnitFrom<ElectricInductanceUnitClass>;
611
+ /**
612
+ * @group Unit Generators
613
+ * @category Electromagnetic
614
+ */
615
+ export type ElectricInductanceUnit<M extends UnitSubvalues> = ElectricInductanceUnitFrom<UnitMeta<M>>;
616
+ /**
617
+ * @group Unit Generators
618
+ * @category Electromagnetic
619
+ */
620
+ export type ElectricInductanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricInductanceUnitClass, M>;
621
+ /**
622
+ * A unit of {@link ElectricInductance}.
623
+ *
624
+ * @group Units
625
+ * @category Derived
626
+ * @symbol `H`
627
+ */
628
+ export type Henry = ElectricInductanceUnit<{}>;
629
+ /**
630
+ * @group Unit Classes
631
+ * @category Electromagnetic
632
+ */
633
+ export type ElectricLinearChargeDensityUnitClass = BaseUnitClass<{
634
+ Ampere: 1;
635
+ Second: 1;
636
+ Meter: -1;
637
+ }>;
638
+ /**
639
+ * @group Abstract Units
640
+ * @category Electromagnetic
641
+ */
642
+ export type ElectricLinearChargeDensity = AbstractUnitFrom<ElectricLinearChargeDensityUnitClass>;
643
+ /**
644
+ * @group Unit Generators
645
+ * @category Electromagnetic
646
+ */
647
+ export type ElectricLinearChargeDensityUnit<M extends UnitSubvalues> = ElectricLinearChargeDensityUnitFrom<UnitMeta<M>>;
648
+ /**
649
+ * @group Unit Generators
650
+ * @category Electromagnetic
651
+ */
652
+ export type ElectricLinearChargeDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricLinearChargeDensityUnitClass, M>;
653
+ /**
654
+ * A unit of {@link ElectricLinearChargeDensity}.
655
+ *
656
+ * @group Units
657
+ * @category Electromagnetic
658
+ * @symbol `C/m`
659
+ */
660
+ export type CoulombPerMeter = ElectricLinearChargeDensityUnit<{}>;
661
+ /**
662
+ * @group Unit Classes
663
+ * @category Electromagnetic
664
+ */
665
+ export type ElectricPotentialUnitClass = BaseUnitClass<{
666
+ Kilogram: 1;
667
+ Meter: 2;
668
+ Second: -3;
669
+ Ampere: -1;
670
+ }>;
671
+ /**
672
+ * @group Abstract Units
673
+ * @category Electromagnetic
674
+ */
675
+ export type ElectricPotential = AbstractUnitFrom<ElectricPotentialUnitClass>;
676
+ /**
677
+ * @group Unit Generators
678
+ * @category Electromagnetic
679
+ */
680
+ export type ElectricPotentialUnit<M extends UnitSubvalues> = ElectricPotentialUnitFrom<UnitMeta<M>>;
681
+ /**
682
+ * @group Unit Generators
683
+ * @category Electromagnetic
684
+ */
685
+ export type ElectricPotentialUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricPotentialUnitClass, M>;
686
+ /**
687
+ * A unit of {@link ElectricPotential}.
688
+ *
689
+ * One Volt is equal to the difference of electric potential between two points on a conducting
690
+ * wire carrying a export constant current of one Ampere when the power dissipated between the points is one watt.
691
+ *
692
+ * @group Units
693
+ * @category Derived
694
+ * @symbol `V`
695
+ */
696
+ export type Volt = ElectricPotentialUnit<{}>;
697
+ /**
698
+ * @group Unit Classes
699
+ * @category Electromagnetic
700
+ */
701
+ export type ElectricResistanceUnitClass = BaseUnitClass<{
702
+ Kilogram: 1;
703
+ Meter: 2;
704
+ Second: -3;
705
+ Ampere: -2;
706
+ }>;
707
+ /**
708
+ * @group Abstract Units
709
+ * @category Electromagnetic
710
+ */
711
+ export type ElectricResistance = AbstractUnitFrom<ElectricResistanceUnitClass>;
712
+ /**
713
+ * @group Unit Generators
714
+ * @category Electromagnetic
715
+ */
716
+ export type ElectricResistanceUnit<M extends UnitSubvalues> = ElectricResistanceUnitFrom<UnitMeta<M>>;
717
+ /**
718
+ * @group Unit Generators
719
+ * @category Electromagnetic
720
+ */
721
+ export type ElectricResistanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectricResistanceUnitClass, M>;
722
+ /**
723
+ * A unit of {@link ElectricResistance}.
724
+ *
725
+ * One Ohm is equal to the resistance of a conductor in which a current of one Ampere is produced
726
+ * by a potential of one volt across its terminals.
727
+ *
728
+ * @group Units
729
+ * @category Electromagnetic
730
+ * @symbol `Ω`
731
+ */
732
+ export type Ohm = ElectricResistanceUnit<{}>;
733
+ /**
734
+ * @group Unit Classes
735
+ * @category Electromagnetic
736
+ */
737
+ export type ElectronMobilityUnitClass = BaseUnitClass<{
738
+ Kilogram: -1;
739
+ Second: 2;
740
+ Ampere: 1;
741
+ }>;
742
+ /**
743
+ * @group Abstract Units
744
+ * @category Electromagnetic
745
+ */
746
+ export type ElectronMobility = AbstractUnitFrom<ElectronMobilityUnitClass>;
747
+ /**
748
+ * @group Unit Generators
749
+ * @category Electromagnetic
750
+ */
751
+ export type ElectronMobilityUnit<M extends UnitSubvalues> = ElectronMobilityUnitFrom<UnitMeta<M>>;
752
+ /**
753
+ * @group Unit Generators
754
+ * @category Electromagnetic
755
+ */
756
+ export type ElectronMobilityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ElectronMobilityUnitClass, M>;
757
+ /**
758
+ * A unit of {@link ElectronMobility}.
759
+ *
760
+ * @group Units
761
+ * @category Electromagnetic
762
+ * @symbol `m²/(V⋅s)`
763
+ */
764
+ export type SquareMeterPerVoltSecond = ElectronMobilityUnit<{}>;
765
+ /**
766
+ * @group Unit Classes
767
+ * @category Electromagnetic
768
+ */
769
+ export type ExposureUnitClass = BaseUnitClass<{
770
+ Ampere: 1;
771
+ Second: 1;
772
+ Kilogram: -1;
773
+ }>;
774
+ /**
775
+ * @group Abstract Units
776
+ * @category Electromagnetic
777
+ */
778
+ export type Exposure = AbstractUnitFrom<ExposureUnitClass>;
779
+ /**
780
+ * @group Unit Generators
781
+ * @category Electromagnetic
782
+ */
783
+ export type ExposureUnit<M extends UnitSubvalues> = ExposureUnitFrom<UnitMeta<M>>;
784
+ /**
785
+ * @group Unit Generators
786
+ * @category Electromagnetic
787
+ */
788
+ export type ExposureUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ExposureUnitClass, M>;
789
+ /**
790
+ * A unit of {@link Exposure}.
791
+ *
792
+ * @group Units
793
+ * @category Electromagnetic
794
+ * @symbol `C/kg`
795
+ */
796
+ export type CoulombPerKilogram = ExposureUnit<{}>;
797
+ /**
798
+ * @group Unit Classes
799
+ * @category Electromagnetic
800
+ */
801
+ export type MagneticDipoleMomentUnitClass = BaseUnitClass<{
802
+ Meter: 2;
803
+ Ampere: 1;
804
+ }>;
805
+ /**
806
+ * @group Abstract Units
807
+ * @category Electromagnetic
808
+ */
809
+ export type MagneticDipoleMoment = AbstractUnitFrom<MagneticDipoleMomentUnitClass>;
810
+ /**
811
+ * @group Unit Generators
812
+ * @category Electromagnetic
813
+ */
814
+ export type MagneticDipoleMomentUnit<M extends UnitSubvalues> = MagneticDipoleMomentUnitFrom<UnitMeta<M>>;
815
+ /**
816
+ * @group Unit Generators
817
+ * @category Electromagnetic
818
+ */
819
+ export type MagneticDipoleMomentUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticDipoleMomentUnitClass, M>;
820
+ /**
821
+ * A unit of {@link MagneticDipoleMoment}.
822
+ *
823
+ * @group Units
824
+ * @category Electromagnetic
825
+ * @symbol `J/T`
826
+ */
827
+ export type JoulePerTesla = MagneticDipoleMomentUnit<{}>;
828
+ /**
829
+ * @group Unit Classes
830
+ * @category Electromagnetic
831
+ */
832
+ export type MagneticFieldStrengthUnitClass = BaseUnitClass<{
833
+ Ampere: 1;
834
+ Meter: -1;
835
+ }>;
836
+ /**
837
+ * @group Abstract Units
838
+ * @category Electromagnetic
839
+ */
840
+ export type MagneticFieldStrength = AbstractUnitFrom<MagneticFieldStrengthUnitClass>;
841
+ /**
842
+ * @group Unit Generators
843
+ * @category Electromagnetic
844
+ */
845
+ export type MagneticFieldStrengthUnit<M extends UnitSubvalues> = MagneticFieldStrengthUnitFrom<UnitMeta<M>>;
846
+ /**
847
+ * @group Unit Generators
848
+ * @category Electromagnetic
849
+ */
850
+ export type MagneticFieldStrengthUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticFieldStrengthUnitClass, M>;
851
+ /**
852
+ * A unit of {@link MagneticFieldStrength}.
853
+ *
854
+ * @group Units
855
+ * @category Electromagnetic
856
+ * @symbol `A/m`
857
+ */
858
+ export type AmperePerMeter = MagneticFieldStrengthUnit<{}>;
859
+ /**
860
+ * @group Unit Classes
861
+ * @category Electromagnetic
862
+ */
863
+ export type MagneticFluxDensityUnitClass = BaseUnitClass<{
864
+ Ampere: -1;
865
+ Kilogram: 1;
866
+ Second: -2;
867
+ }>;
868
+ /**
869
+ * @group Abstract Units
870
+ * @category Electromagnetic
871
+ */
872
+ export type MagneticFluxDensity = AbstractUnitFrom<MagneticFluxDensityUnitClass>;
873
+ /**
874
+ * @group Unit Generators
875
+ * @category Electromagnetic
876
+ */
877
+ export type MagneticFluxDensityUnit<M extends UnitSubvalues> = MagneticFluxDensityUnitFrom<UnitMeta<M>>;
878
+ /**
879
+ * @group Unit Generators
880
+ * @category Electromagnetic
881
+ */
882
+ export type MagneticFluxDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticFluxDensityUnitClass, M>;
883
+ /**
884
+ * A unit of {@link MagneticFluxDensity}.
885
+ *
886
+ * One Tesla is equal equal to one weber per square meter.
887
+ *
888
+ * @group Units
889
+ * @category Derived
890
+ * @symbol `T`
891
+ */
892
+ export type Tesla = MagneticFluxDensityUnit<{}>;
893
+ /**
894
+ * @group Unit Classes
895
+ * @category Electromagnetic
896
+ */
897
+ export type MagneticFluxUnitClass = BaseUnitClass<{
898
+ Kilogram: 1;
899
+ Meter: 2;
900
+ Second: -2;
901
+ Ampere: -1;
902
+ }>;
903
+ /**
904
+ * @group Abstract Units
905
+ * @category Electromagnetic
906
+ */
907
+ export type MagneticFlux = AbstractUnitFrom<MagneticFluxUnitClass>;
908
+ /**
909
+ * @group Unit Generators
910
+ * @category Electromagnetic
911
+ */
912
+ export type MagneticFluxUnit<M extends UnitSubvalues> = MagneticFluxUnitFrom<UnitMeta<M>>;
913
+ /**
914
+ * @group Unit Generators
915
+ * @category Electromagnetic
916
+ */
917
+ export type MagneticFluxUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticFluxUnitClass, M>;
918
+ /**
919
+ * A unit of {@link MagneticFlux}.
920
+ *
921
+ * One Weber is equal to the magnetic flux that in linking a circuit of one turn produces in it an
922
+ * electromotive force of one volt as it is uniformly reduced to zero within one second.
923
+ *
924
+ * @group Units
925
+ * @category Derived
926
+ * @symbol `Wb`
927
+ */
928
+ export type Weber = MagneticFluxUnit<{}>;
929
+ /**
930
+ * @group Unit Classes
931
+ * @category Electromagnetic
932
+ */
933
+ export type MagneticMomentUnitClass = BaseUnitClass<{
934
+ Kilogram: 1;
935
+ Meter: 3;
936
+ Second: -2;
937
+ Ampere: -1;
938
+ }>;
939
+ /**
940
+ * @group Abstract Units
941
+ * @category Electromagnetic
942
+ */
943
+ export type MagneticMoment = AbstractUnitFrom<MagneticMomentUnitClass>;
944
+ /**
945
+ * @group Unit Generators
946
+ * @category Electromagnetic
947
+ */
948
+ export type MagneticMomentUnit<M extends UnitSubvalues> = MagneticMomentUnitFrom<UnitMeta<M>>;
949
+ /**
950
+ * @group Unit Generators
951
+ * @category Electromagnetic
952
+ */
953
+ export type MagneticMomentUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticMomentUnitClass, M>;
954
+ /**
955
+ * A unit of {@link MagneticMoment}.
956
+ *
957
+ * @group Units
958
+ * @category Electromagnetic
959
+ * @symbol `Wb⋅m`
960
+ */
961
+ export type WeberMeter = MagneticMomentUnit<{}>;
962
+ /**
963
+ * @group Unit Classes
964
+ * @category Electromagnetic
965
+ */
966
+ export type MagneticPermeabilityUnitClass = BaseUnitClass<{
967
+ Kilogram: 1;
968
+ Meter: 1;
969
+ Second: -2;
970
+ Ampere: -2;
971
+ }>;
972
+ /**
973
+ * @group Abstract Units
974
+ * @category Electromagnetic
975
+ */
976
+ export type MagneticPermeability = AbstractUnitFrom<MagneticPermeabilityUnitClass>;
977
+ /**
978
+ * @group Unit Generators
979
+ * @category Electromagnetic
980
+ */
981
+ export type MagneticPermeabilityUnit<M extends UnitSubvalues> = MagneticPermeabilityUnitFrom<UnitMeta<M>>;
982
+ /**
983
+ * @group Unit Generators
984
+ * @category Electromagnetic
985
+ */
986
+ export type MagneticPermeabilityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticPermeabilityUnitClass, M>;
987
+ /**
988
+ * A unit of {@link MagneticPermeability}.
989
+ *
990
+ * @group Units
991
+ * @category Electromagnetic
992
+ * @symbol `H/m`
993
+ */
994
+ export type HenryPerMeter = MagneticPermeabilityUnit<{}>;
995
+ type Inverse<X extends number> = Pow<X, -1>;
996
+ type InverseUnitSubvalues<T extends UnitSubvalues> = PowUnitSubvalues<T, -1>;
997
+ type Multiply<A extends number, B extends number> = A extends UnknownUnit ? MultiplyHelperUnit<A, B> : B extends UnknownUnit ? MultiplyHelperUnit<B, A> : A extends UnknownAbstractUnit ? MultiplyHelperAbstractUnit<A, B> : B extends UnknownAbstractUnit ? MultiplyHelperAbstractUnit<B, A> : A extends UnknownUnitConversionRate ? MultiplyHelperUnitConversionRate<A, B> : B extends UnknownUnitConversionRate ? MultiplyHelperUnitConversionRate<B, A> : number;
998
+ type MultiplyHelperUnit<A extends UnknownUnit, B extends number> = A extends Unit<infer AClass, infer AMeta> ? B extends Unit<infer BClass, infer BMeta> ? Unit<FlatternAlias<MultiplyUnitSubvalues<AClass, BClass>>, FlatternAlias<MultiplyUnitSubvalues<AMeta, BMeta>>> : B extends AbstractUnit<infer BClass> ? Unit<FlatternAlias<MultiplyUnitSubvalues<AClass, BClass>>, AMeta> : B extends UnitConversionRate<infer BMeta> ? Unit<AClass, FlatternAlias<MultiplyUnitSubvalues<AMeta, BMeta>>> : A : never;
999
+ type MultiplyHelperAbstractUnit<A extends UnknownAbstractUnit, B extends number> = A extends AbstractUnit<infer AClass> ? B extends AbstractUnit<infer BClass> ? AbstractUnit<FlatternAlias<MultiplyUnitSubvalues<AClass, BClass>>> : B extends UnitConversionRate<infer BMeta> ? Unit<AClass, BMeta> : A : never;
1000
+ type MultiplyHelperUnitConversionRate<A extends UnknownUnitConversionRate, B extends number> = A extends UnitConversionRate<infer AMeta> ? B extends UnitConversionRate<infer BMeta> ? UnitConversionRate<FlatternAlias<MultiplyUnitSubvalues<AMeta, BMeta>>> : A : never;
1001
+ type MultiplyUnitSubvalues<A extends UnitSubvalues, B extends UnitSubvalues> = ExcludeUnitZeroSubvalues<{
1002
+ [S in keyof A | keyof B]: SumExponents<GetExponent<A, S>, GetExponent<B, S>>;
1003
+ }>;
1004
+ type Pow<B extends number, E extends Exponent> = B extends Unit<infer Class, infer Meta> ? Unit<FlatternAlias<PowUnitSubvalues<Class, E>>, FlatternAlias<PowUnitSubvalues<Meta, E>>> : B extends AbstractUnit<infer Class> ? AbstractUnit<FlatternAlias<PowUnitSubvalues<Class, E>>> : B extends UnitConversionRate<infer Meta> ? UnitConversionRate<FlatternAlias<PowUnitSubvalues<Meta, E>>> : number;
1005
+ type PowUnitSubvalues<B extends UnitSubvalues, E extends Exponent> = ExcludeUnitZeroSubvalues<{
1006
+ [S in keyof B]: MultiplyExponents<GetExponent<B, S>, E>;
1007
+ }>;
1008
+ /**
1009
+ * Put the given {@link Unit} to the power of 2.
1010
+ *
1011
+ * @group Modifiers
1012
+ * @category General
1013
+ * @see {@link Pow}
1014
+ * @see {@link Cubic}
1015
+ */
1016
+ export type Square<T extends UnknownUnit | UnknownAbstractUnit | UnknownUnitConversionRate | UnknownUnitClass | UnknownUnitMeta> = T extends number ? Pow<T, 2> : T extends UnknownUnitClass ? UnitClass<PowUnitSubvalues<T["__uom_types"]["value"], 2>> : T extends UnknownUnitMeta ? UnitMeta<PowUnitSubvalues<T["__uom_types"]["value"], 2>> : never;
1017
+ /**
1018
+ * Put the given {@link Unit} to the power of 3.
1019
+ *
1020
+ * @group Modifiers
1021
+ * @category General
1022
+ * @see {@link Pow}
1023
+ * @see {@link Square}
1024
+ */
1025
+ export type Cubic<T extends UnknownUnit | UnknownAbstractUnit | UnknownUnitConversionRate | UnknownUnitClass | UnknownUnitMeta> = T extends number ? Pow<T, 3> : T extends UnknownUnitClass ? UnitClass<PowUnitSubvalues<T["__uom_types"]["value"], 3>> : T extends UnknownUnitMeta ? UnitMeta<PowUnitSubvalues<T["__uom_types"]["value"], 3>> : never;
1026
+ /**
1027
+ * Binary prefix denoting an order of magnitude of 10^1.
1028
+ *
1029
+ * @group Modifiers
1030
+ * @category Metric Prefixes
1031
+ */
1032
+ export type Deka<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1033
+ scalar10: 1;
1034
+ }>>;
1035
+ /**
1036
+ * Binary prefix denoting an order of magnitude of 10^-1.
1037
+ *
1038
+ * @group Modifiers
1039
+ * @category Metric Prefixes
1040
+ */
1041
+ export type Deci<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1042
+ scalar10: -1;
1043
+ }>>;
1044
+ /**
1045
+ * Binary prefix denoting an order of magnitude of 10^2.
1046
+ *
1047
+ * @group Modifiers
1048
+ * @category Metric Prefixes
1049
+ */
1050
+ export type Hecto<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1051
+ scalar10: 2;
1052
+ }>>;
1053
+ /**
1054
+ * Binary prefix denoting an order of magnitude of 10^-2.
1055
+ *
1056
+ * @group Modifiers
1057
+ * @category Metric Prefixes
1058
+ */
1059
+ export type Centi<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1060
+ scalar10: -2;
1061
+ }>>;
1062
+ /**
1063
+ * Binary prefix denoting an order of magnitude of 10^3.
1064
+ *
1065
+ * @group Modifiers
1066
+ * @category Metric Prefixes
1067
+ */
1068
+ export type Kilo<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1069
+ scalar10: 3;
1070
+ }>>;
1071
+ /**
1072
+ * Binary prefix denoting an order of magnitude of 10^-3.
1073
+ *
1074
+ * @group Modifiers
1075
+ * @category Metric Prefixes
1076
+ */
1077
+ export type Milli<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1078
+ scalar10: -3;
1079
+ }>>;
1080
+ /**
1081
+ * Binary prefix denoting an order of magnitude of 10^6.
1082
+ *
1083
+ * @group Modifiers
1084
+ * @category Metric Prefixes
1085
+ */
1086
+ export type Mega<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1087
+ scalar10: 6;
1088
+ }>>;
1089
+ /**
1090
+ * Binary prefix denoting an order of magnitude of 10^-6.
1091
+ *
1092
+ * @group Modifiers
1093
+ * @category Metric Prefixes
1094
+ */
1095
+ export type Micro<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1096
+ scalar10: -6;
1097
+ }>>;
1098
+ /**
1099
+ * Binary prefix denoting an order of magnitude of 10^9.
1100
+ *
1101
+ * @group Modifiers
1102
+ * @category Metric Prefixes
1103
+ */
1104
+ export type Giga<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1105
+ scalar10: 9;
1106
+ }>>;
1107
+ /**
1108
+ * Binary prefix denoting an order of magnitude of 10^-9.
1109
+ *
1110
+ * @group Modifiers
1111
+ * @category Metric Prefixes
1112
+ */
1113
+ export type Nano<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1114
+ scalar10: -9;
1115
+ }>>;
1116
+ /**
1117
+ * Binary prefix denoting an order of magnitude of 10^12.
1118
+ *
1119
+ * @group Modifiers
1120
+ * @category Metric Prefixes
1121
+ */
1122
+ export type Tera<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1123
+ scalar10: 12;
1124
+ }>>;
1125
+ /**
1126
+ * Binary prefix denoting an order of magnitude of 10^-12.
1127
+ *
1128
+ * @group Modifiers
1129
+ * @category Metric Prefixes
1130
+ */
1131
+ export type Pico<T extends UnknownUnit> = Multiply<T, UnitConversionRate<{
1132
+ scalar10: -12;
1133
+ }>>;
1134
+ /**
1135
+ * Invert the {@link Unit}.
1136
+ *
1137
+ * @group Modifiers
1138
+ * @category General
1139
+ */
1140
+ export type Reciprocal<T extends UnknownUnit | UnknownAbstractUnit | UnknownUnitConversionRate | UnknownUnitClass | UnknownUnitMeta> = T extends number ? Inverse<T> : T extends UnknownUnitClass ? UnitClass<InverseUnitSubvalues<T["__uom_types"]["value"]>> : T extends UnknownUnitMeta ? UnitMeta<InverseUnitSubvalues<T["__uom_types"]["value"]>> : never;
1141
+ /**
1142
+ * @group Unit Classes
1143
+ * @category Electromagnetic
1144
+ */
1145
+ export type MagneticReluctanceUnitClass = Reciprocal<ElectricInductanceUnitClass>;
1146
+ /**
1147
+ * @group Abstract Units
1148
+ * @category Electromagnetic
1149
+ */
1150
+ export type MagneticReluctance = Reciprocal<ElectricInductance>;
1151
+ /**
1152
+ * @group Unit Generators
1153
+ * @category Electromagnetic
1154
+ */
1155
+ export type MagneticReluctanceUnit<M extends UnitSubvalues> = MagneticReluctanceUnitFrom<UnitMeta<M>>;
1156
+ /**
1157
+ * @group Unit Generators
1158
+ * @category Electromagnetic
1159
+ */
1160
+ export type MagneticReluctanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticReluctanceUnitClass, M>;
1161
+ /**
1162
+ * @group Unit Classes
1163
+ * @category Electromagnetic
1164
+ */
1165
+ export type MagneticRigidityUnitClass = BaseUnitClass<{
1166
+ Ampere: -1;
1167
+ Kilogram: 1;
1168
+ Meter: 1;
1169
+ Second: -2;
1170
+ }>;
1171
+ /**
1172
+ * @group Abstract Units
1173
+ * @category Electromagnetic
1174
+ */
1175
+ export type MagneticRigidity = AbstractUnitFrom<MagneticRigidityUnitClass>;
1176
+ /**
1177
+ * @group Unit Generators
1178
+ * @category Electromagnetic
1179
+ */
1180
+ export type MagneticRigidityUnit<M extends UnitSubvalues> = MagneticRigidityUnitFrom<UnitMeta<M>>;
1181
+ /**
1182
+ * @group Unit Generators
1183
+ * @category Electromagnetic
1184
+ */
1185
+ export type MagneticRigidityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticRigidityUnitClass, M>;
1186
+ /**
1187
+ * A unit of {@link MagneticRigidity}.
1188
+ *
1189
+ * @group Units
1190
+ * @category Electromagnetic
1191
+ * @symbol `T⋅m`
1192
+ */
1193
+ export type TeslaMeter = MagneticRigidityUnit<{}>;
1194
+ /**
1195
+ * @group Unit Classes
1196
+ * @category Electromagnetic
1197
+ */
1198
+ export type MagneticSusceptibilityUnitClass = BaseUnitClass<{
1199
+ Kilogram: -1;
1200
+ Meter: -1;
1201
+ Second: 2;
1202
+ Ampere: 2;
1203
+ }>;
1204
+ /**
1205
+ * @group Abstract Units
1206
+ * @category Electromagnetic
1207
+ */
1208
+ export type MagneticSusceptibility = AbstractUnitFrom<MagneticSusceptibilityUnitClass>;
1209
+ /**
1210
+ * @group Unit Generators
1211
+ * @category Electromagnetic
1212
+ */
1213
+ export type MagneticSusceptibilityUnit<M extends UnitSubvalues> = MagneticSusceptibilityUnitFrom<UnitMeta<M>>;
1214
+ /**
1215
+ * @group Unit Generators
1216
+ * @category Electromagnetic
1217
+ */
1218
+ export type MagneticSusceptibilityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticSusceptibilityUnitClass, M>;
1219
+ /**
1220
+ * A unit of {@link MagneticSusceptibility}.
1221
+ *
1222
+ * @group Units
1223
+ * @category Electromagnetic
1224
+ * @symbol `m/H`
1225
+ */
1226
+ export type MeterPerHenry = MagneticSusceptibilityUnit<{}>;
1227
+ /**
1228
+ * @group Unit Classes
1229
+ * @category Electromagnetic
1230
+ */
1231
+ export type MagneticVectorPotentialUnitClass = BaseUnitClass<{
1232
+ Kilogram: 1;
1233
+ Meter: 1;
1234
+ Second: -2;
1235
+ Ampere: -1;
1236
+ }>;
1237
+ /**
1238
+ * @group Abstract Units
1239
+ * @category Electromagnetic
1240
+ */
1241
+ export type MagneticVectorPotential = AbstractUnitFrom<MagneticVectorPotentialUnitClass>;
1242
+ /**
1243
+ * @group Unit Generators
1244
+ * @category Electromagnetic
1245
+ */
1246
+ export type MagneticVectorPotentialUnit<M extends UnitSubvalues> = MagneticVectorPotentialUnitFrom<UnitMeta<M>>;
1247
+ /**
1248
+ * @group Unit Generators
1249
+ * @category Electromagnetic
1250
+ */
1251
+ export type MagneticVectorPotentialUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagneticVectorPotentialUnitClass, M>;
1252
+ /**
1253
+ * A unit of {@link MagneticVectorPotential}.
1254
+ *
1255
+ * @group Units
1256
+ * @category Electromagnetic
1257
+ * @symbol `Wb/m`
1258
+ */
1259
+ export type WeberPerMeter = MagneticVectorPotentialUnit<{}>;
1260
+ /**
1261
+ * @group Unit Classes
1262
+ * @category Electromagnetic
1263
+ */
1264
+ export type MagnetomotiveForceUnitClass = BaseUnitClass<{
1265
+ Ampere: 1;
1266
+ Radian: 1;
1267
+ }>;
1268
+ /**
1269
+ * @group Abstract Units
1270
+ * @category Electromagnetic
1271
+ */
1272
+ export type MagnetomotiveForce = AbstractUnitFrom<MagnetomotiveForceUnitClass>;
1273
+ /**
1274
+ * @group Unit Generators
1275
+ * @category Electromagnetic
1276
+ */
1277
+ export type MagnetomotiveForceUnit<M extends UnitSubvalues> = MagnetomotiveForceUnitFrom<UnitMeta<M>>;
1278
+ /**
1279
+ * @group Unit Generators
1280
+ * @category Electromagnetic
1281
+ */
1282
+ export type MagnetomotiveForceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MagnetomotiveForceUnitClass, M>;
1283
+ /**
1284
+ * A unit of {@link MagnetomotiveForce}.
1285
+ *
1286
+ * @group Units
1287
+ * @category Electromagnetic
1288
+ * @symbol `A⋅rad`
1289
+ */
1290
+ export type AmpereRadian = MagnetomotiveForceUnit<{}>;
1291
+ /**
1292
+ * @group Unit Classes
1293
+ * @category Electromagnetic
1294
+ */
1295
+ export type PermittivityUnitClass = BaseUnitClass<{
1296
+ Ampere: 2;
1297
+ Second: 4;
1298
+ Kilogram: -1;
1299
+ Meter: -3;
1300
+ }>;
1301
+ /**
1302
+ * @group Abstract Units
1303
+ * @category Electromagnetic
1304
+ */
1305
+ export type Permittivity = AbstractUnitFrom<PermittivityUnitClass>;
1306
+ /**
1307
+ * @group Unit Generators
1308
+ * @category Electromagnetic
1309
+ */
1310
+ export type PermittivityUnit<M extends UnitSubvalues> = PermittivityUnitFrom<UnitMeta<M>>;
1311
+ /**
1312
+ * @group Unit Generators
1313
+ * @category Electromagnetic
1314
+ */
1315
+ export type PermittivityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<PermittivityUnitClass, M>;
1316
+ /**
1317
+ * A unit of {@link Permittivity}.
1318
+ *
1319
+ * @group Units
1320
+ * @category Electromagnetic
1321
+ * @symbol `F/m`
1322
+ */
1323
+ export type FaradPerMeter = PermittivityUnit<{}>;
1324
+ /**
1325
+ * @group Unit Classes
1326
+ * @category Electromagnetic
1327
+ */
1328
+ export type ResistivityUnitClass = BaseUnitClass<{
1329
+ Ampere: -2;
1330
+ Kilogram: 1;
1331
+ Meter: 3;
1332
+ Second: -3;
1333
+ }>;
1334
+ /**
1335
+ * @group Abstract Units
1336
+ * @category Electromagnetic
1337
+ */
1338
+ export type Resistivity = AbstractUnitFrom<ResistivityUnitClass>;
1339
+ /**
1340
+ * @group Unit Generators
1341
+ * @category Electromagnetic
1342
+ */
1343
+ export type ResistivityUnit<M extends UnitSubvalues> = ResistivityUnitFrom<UnitMeta<M>>;
1344
+ /**
1345
+ * @group Unit Generators
1346
+ * @category Electromagnetic
1347
+ */
1348
+ export type ResistivityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ResistivityUnitClass, M>;
1349
+ /**
1350
+ * A unit of {@link Resistivity}.
1351
+ *
1352
+ * @group Units
1353
+ * @category Electromagnetic
1354
+ * @symbol `Ωm`
1355
+ */
1356
+ export type OhmMeter = ResistivityUnit<{}>;
1357
+ /**
1358
+ * @group Unit Classes
1359
+ */
1360
+ export type IdentityUnitClass = BaseUnitClass<{}>;
1361
+ /**
1362
+ * @group Abstract Units
1363
+ */
1364
+ export type Identity = AbstractUnitFrom<IdentityUnitClass>;
1365
+ /**
1366
+ * @group Unit Generators
1367
+ */
1368
+ export type IdentityUnit<M extends UnitSubvalues> = IdentityUnitFrom<UnitMeta<M>>;
1369
+ /**
1370
+ * @group Unit Generators
1371
+ */
1372
+ export type IdentityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<IdentityUnitClass, M>;
1373
+ /**
1374
+ * A {@link Unit} with no units.
1375
+ *
1376
+ * @group Units
1377
+ * @category Base
1378
+ * @symbol ``
1379
+ */
1380
+ export type Unitless = IdentityUnit<{}>;
1381
+ /**
1382
+ * @group Unit Classes
1383
+ * @category Kinematic
1384
+ */
1385
+ export type AccelerationUnitClass = BaseUnitClass<{
1386
+ Meter: 1;
1387
+ Second: -2;
1388
+ }>;
1389
+ /**
1390
+ * @group Abstract Units
1391
+ * @category Kinematic
1392
+ */
1393
+ export type Acceleration = AbstractUnitFrom<AccelerationUnitClass>;
1394
+ /**
1395
+ * @group Unit Generators
1396
+ * @category Kinematic
1397
+ */
1398
+ export type AccelerationUnit<M extends UnitSubvalues> = AccelerationUnitFrom<UnitMeta<M>>;
1399
+ /**
1400
+ * @group Unit Generators
1401
+ * @category Kinematic
1402
+ */
1403
+ export type AccelerationUnitFrom<M extends UnknownUnitMeta> = UnitFrom<AccelerationUnitClass, M>;
1404
+ /**
1405
+ * A unit of {@link Acceleration}.
1406
+ *
1407
+ * @group Units
1408
+ * @category Kinematic
1409
+ * @symbol `m/s²`
1410
+ */
1411
+ export type MeterPerSecondSquared = AccelerationUnit<{}>;
1412
+ /**
1413
+ * @group Unit Classes
1414
+ * @category Kinematic
1415
+ */
1416
+ export type AngularAccelerationUnitClass = BaseUnitClass<{
1417
+ Radian: 1;
1418
+ Second: -2;
1419
+ }>;
1420
+ /**
1421
+ * @group Abstract Units
1422
+ * @category Kinematic
1423
+ */
1424
+ export type AngularAcceleration = AbstractUnitFrom<AngularAccelerationUnitClass>;
1425
+ /**
1426
+ * @group Unit Generators
1427
+ * @category Kinematic
1428
+ */
1429
+ export type AngularAccelerationUnit<M extends UnitSubvalues> = AngularAccelerationUnitFrom<UnitMeta<M>>;
1430
+ /**
1431
+ * @group Unit Generators
1432
+ * @category Kinematic
1433
+ */
1434
+ export type AngularAccelerationUnitFrom<M extends UnknownUnitMeta> = UnitFrom<AngularAccelerationUnitClass, M>;
1435
+ /**
1436
+ * A unit of {@link AngularAcceleration}.
1437
+ *
1438
+ * @group Units
1439
+ * @category Kinematic
1440
+ * @symbol `rad/s²`
1441
+ */
1442
+ export type RadianPerSecondSquared = AngularAccelerationUnit<{}>;
1443
+ /**
1444
+ * @group Unit Classes
1445
+ * @category Kinematic
1446
+ */
1447
+ export type AngularMomentumUnitClass = BaseUnitClass<{
1448
+ Kilogram: 1;
1449
+ Meter: 2;
1450
+ Second: -1;
1451
+ Radian: -1;
1452
+ }>;
1453
+ /**
1454
+ * @group Abstract Units
1455
+ * @category Kinematic
1456
+ */
1457
+ export type AngularMomentum = AbstractUnitFrom<AngularMomentumUnitClass>;
1458
+ /**
1459
+ * @group Unit Generators
1460
+ * @category Kinematic
1461
+ */
1462
+ export type AngularMomentumUnit<M extends UnitSubvalues> = AngularMomentumUnitFrom<UnitMeta<M>>;
1463
+ /**
1464
+ * @group Unit Generators
1465
+ * @category Kinematic
1466
+ */
1467
+ export type AngularMomentumUnitFrom<M extends UnknownUnitMeta> = UnitFrom<AngularMomentumUnitClass, M>;
1468
+ /**
1469
+ * A unit of {@link AngularMomentum}.
1470
+ *
1471
+ * @group Units
1472
+ * @category Kinematic
1473
+ * @symbol `J⋅s/rad`
1474
+ */
1475
+ export type JouleSecondPerRadian = AngularMomentumUnit<{}>;
1476
+ /**
1477
+ * @group Unit Classes
1478
+ * @category Kinematic
1479
+ */
1480
+ export type AngularVelocityUnitClass = BaseUnitClass<{
1481
+ Radian: 1;
1482
+ Second: -1;
1483
+ }>;
1484
+ /**
1485
+ * @group Abstract Units
1486
+ * @category Kinematic
1487
+ */
1488
+ export type AngularVelocity = AbstractUnitFrom<AngularVelocityUnitClass>;
1489
+ /**
1490
+ * @group Unit Generators
1491
+ * @category Kinematic
1492
+ */
1493
+ export type AngularVelocityUnit<M extends UnitSubvalues> = AngularVelocityUnitFrom<UnitMeta<M>>;
1494
+ /**
1495
+ * @group Unit Generators
1496
+ * @category Kinematic
1497
+ */
1498
+ export type AngularVelocityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<AngularVelocityUnitClass, M>;
1499
+ /**
1500
+ * A unit of {@link AngularVelocity}.
1501
+ *
1502
+ * @group Units
1503
+ * @category Kinematic
1504
+ * @symbol `rad/s`
1505
+ */
1506
+ export type RadianPerSecond = AngularVelocityUnit<{}>;
1507
+ /**
1508
+ * @group Unit Classes
1509
+ * @category Kinematic
1510
+ */
1511
+ export type CrackleUnitClass = BaseUnitClass<{
1512
+ Meter: 1;
1513
+ Second: -5;
1514
+ }>;
1515
+ /**
1516
+ * @group Abstract Units
1517
+ * @category Kinematic
1518
+ */
1519
+ export type Crackle = AbstractUnitFrom<CrackleUnitClass>;
1520
+ /**
1521
+ * @group Unit Generators
1522
+ * @category Kinematic
1523
+ */
1524
+ export type CrackleUnit<M extends UnitSubvalues> = CrackleUnitFrom<UnitMeta<M>>;
1525
+ /**
1526
+ * @group Unit Generators
1527
+ * @category Kinematic
1528
+ */
1529
+ export type CrackleUnitFrom<M extends UnknownUnitMeta> = UnitFrom<CrackleUnitClass, M>;
1530
+ /**
1531
+ * A unit of {@link Crackle}.
1532
+ *
1533
+ * @group Units
1534
+ * @category Kinematic
1535
+ * @symbol `m/s⁵`
1536
+ */
1537
+ export type MeterPerSecondToTheFifth = CrackleUnit<{}>;
1538
+ /**
1539
+ * @group Unit Classes
1540
+ * @category Kinematic
1541
+ */
1542
+ export type FrequencyDriftUnitClass = BaseUnitClass<{
1543
+ Second: -2;
1544
+ }>;
1545
+ /**
1546
+ * @group Abstract Units
1547
+ * @category Kinematic
1548
+ */
1549
+ export type FrequencyDrift = AbstractUnitFrom<FrequencyDriftUnitClass>;
1550
+ /**
1551
+ * @group Unit Generators
1552
+ * @category Kinematic
1553
+ */
1554
+ export type FrequencyDriftUnit<M extends UnitSubvalues> = FrequencyDriftUnitFrom<UnitMeta<M>>;
1555
+ /**
1556
+ * @group Unit Generators
1557
+ * @category Kinematic
1558
+ */
1559
+ export type FrequencyDriftUnitFrom<M extends UnknownUnitMeta> = UnitFrom<FrequencyDriftUnitClass, M>;
1560
+ /**
1561
+ * A unit of {@link FrequencyDrift} equal to one hertz per second.
1562
+ *
1563
+ * @group Units
1564
+ * @category Kinematic
1565
+ * @symbol `Hz/s`
1566
+ */
1567
+ export type HertzPerSecond = FrequencyDriftUnit<{}>;
1568
+ /**
1569
+ * @group Unit Classes
1570
+ * @category Kinematic
1571
+ */
1572
+ export type FrequencyUnitClass = Reciprocal<DurationUnitClass>;
1573
+ /**
1574
+ * @group Abstract Units
1575
+ * @category Kinematic
1576
+ */
1577
+ export type Frequency = Reciprocal<Duration>;
1578
+ /**
1579
+ * @group Unit Generators
1580
+ * @category Kinematic
1581
+ */
1582
+ export type FrequencyUnit<M extends UnitSubvalues> = FrequencyUnitFrom<UnitMeta<M>>;
1583
+ /**
1584
+ * @group Unit Generators
1585
+ * @category Kinematic
1586
+ */
1587
+ export type FrequencyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<FrequencyUnitClass, M>;
1588
+ /**
1589
+ * A unit of {@link Frequency}.
1590
+ *
1591
+ * One hertz is equal to one cycle per second.
1592
+ *
1593
+ * @group Units
1594
+ * @category Derived
1595
+ * @category Kinematic
1596
+ * @symbol `Hz`
1597
+ */
1598
+ export type Hertz = FrequencyUnit<{}>;
1599
+ /**
1600
+ * A unit of {@link Frequency}.
1601
+ *
1602
+ * @group Units
1603
+ * @category Kinematic
1604
+ * @symbol `s⁻¹`
1605
+ */
1606
+ export type PerSecond = Hertz;
1607
+ /**
1608
+ * A unit of {@link Frequency}.
1609
+ *
1610
+ * @group Units
1611
+ * @category Kinematic
1612
+ * @symbol `min⁻¹`
1613
+ */
1614
+ export type PerMinute = FrequencyUnit<{
1615
+ scalar60: -1;
1616
+ }>;
1617
+ /**
1618
+ * A unit of {@link Frequency}.
1619
+ *
1620
+ * @group Units
1621
+ * @category Kinematic
1622
+ * @symbol `hr⁻¹`
1623
+ */
1624
+ export type PerHour = FrequencyUnit<{
1625
+ scalar60: -2;
1626
+ }>;
1627
+ /**
1628
+ * A unit of {@link Frequency}.
1629
+ *
1630
+ * @group Units
1631
+ * @category Kinematic
1632
+ * @symbol `day⁻¹`
1633
+ */
1634
+ export type PerDay = FrequencyUnit<{
1635
+ scalar60: -2;
1636
+ scalar24: -1;
1637
+ }>;
1638
+ /**
1639
+ * A unit of {@link Frequency}.
1640
+ *
1641
+ * @group Units
1642
+ * @category Kinematic
1643
+ * @symbol `wk⁻¹`
1644
+ */
1645
+ export type PerWeek = FrequencyUnit<{
1646
+ scalar60: -2;
1647
+ scalar24: -1;
1648
+ scalar7: -1;
1649
+ }>;
1650
+ /**
1651
+ * A unit of {@link Frequency}.
1652
+ *
1653
+ * @group Units
1654
+ * @category Kinematic
1655
+ * @symbol `yr⁻¹`
1656
+ */
1657
+ export type PerYear = FrequencyUnit<{
1658
+ scalar60: -2;
1659
+ scalar24: -1;
1660
+ scalarDayInYear: -1;
1661
+ }>;
1662
+ /**
1663
+ * @group Unit Classes
1664
+ * @category Kinematic
1665
+ */
1666
+ export type JerkUnitClass = BaseUnitClass<{
1667
+ Meter: 1;
1668
+ Second: -3;
1669
+ }>;
1670
+ /**
1671
+ * @group Abstract Units
1672
+ * @category Kinematic
1673
+ */
1674
+ export type Jerk = AbstractUnitFrom<JerkUnitClass>;
1675
+ /**
1676
+ * @group Unit Generators
1677
+ * @category Kinematic
1678
+ */
1679
+ export type JerkUnit<M extends UnitSubvalues> = JerkUnitFrom<UnitMeta<M>>;
1680
+ /**
1681
+ * @group Unit Generators
1682
+ * @category Kinematic
1683
+ */
1684
+ export type JerkUnitFrom<M extends UnknownUnitMeta> = UnitFrom<JerkUnitClass, M>;
1685
+ /**
1686
+ * A unit of {@link Jerk}.
1687
+ *
1688
+ * @group Units
1689
+ * @category Kinematic
1690
+ * @symbol `m/s³`
1691
+ */
1692
+ export type MeterPerSecondCubed = JerkUnit<{}>;
1693
+ /**
1694
+ * @group Unit Classes
1695
+ * @category Kinematic
1696
+ */
1697
+ export type PopUnitClass = BaseUnitClass<{
1698
+ Meter: 1;
1699
+ Second: -6;
1700
+ }>;
1701
+ /**
1702
+ * @group Abstract Units
1703
+ * @category Kinematic
1704
+ */
1705
+ export type Pop = AbstractUnitFrom<PopUnitClass>;
1706
+ /**
1707
+ * @group Unit Generators
1708
+ * @category Kinematic
1709
+ */
1710
+ export type PopUnit<M extends UnitSubvalues> = PopUnitFrom<UnitMeta<M>>;
1711
+ /**
1712
+ * @group Unit Generators
1713
+ * @category Kinematic
1714
+ */
1715
+ export type PopUnitFrom<M extends UnknownUnitMeta> = UnitFrom<PopUnitClass, M>;
1716
+ /**
1717
+ * A unit of {@link Pop}.
1718
+ *
1719
+ * @group Units
1720
+ * @category Kinematic
1721
+ * @symbol `m/s⁶`
1722
+ */
1723
+ export type MeterPerSecondToTheSixth = PopUnit<{}>;
1724
+ /**
1725
+ * @group Unit Classes
1726
+ * @category Kinematic
1727
+ */
1728
+ export type SnapUnitClass = BaseUnitClass<{
1729
+ Meter: 1;
1730
+ Second: -4;
1731
+ }>;
1732
+ /**
1733
+ * @group Abstract Units
1734
+ * @category Kinematic
1735
+ */
1736
+ export type Snap = AbstractUnitFrom<SnapUnitClass>;
1737
+ /**
1738
+ * @group Unit Generators
1739
+ * @category Kinematic
1740
+ */
1741
+ export type SnapUnit<M extends UnitSubvalues> = SnapUnitFrom<UnitMeta<M>>;
1742
+ /**
1743
+ * @group Unit Generators
1744
+ * @category Kinematic
1745
+ */
1746
+ export type SnapUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SnapUnitClass, M>;
1747
+ /**
1748
+ * A unit of {@link Snap}.
1749
+ *
1750
+ * @group Units
1751
+ * @category Kinematic
1752
+ * @symbol `m/s⁴`
1753
+ */
1754
+ export type MeterPerSecondToTheFourth = SnapUnit<{}>;
1755
+ /**
1756
+ * @group Unit Classes
1757
+ * @category Kinematic
1758
+ */
1759
+ export type TorqueUnitClass = BaseUnitClass<{
1760
+ Kilogram: 1;
1761
+ Meter: 2;
1762
+ Second: -2;
1763
+ Radian: -1;
1764
+ }>;
1765
+ /**
1766
+ * @group Abstract Units
1767
+ * @category Kinematic
1768
+ */
1769
+ export type Torque = AbstractUnitFrom<TorqueUnitClass>;
1770
+ /**
1771
+ * @group Unit Generators
1772
+ * @category Kinematic
1773
+ */
1774
+ export type TorqueUnit<M extends UnitSubvalues> = TorqueUnitFrom<UnitMeta<M>>;
1775
+ /**
1776
+ * @group Unit Generators
1777
+ * @category Kinematic
1778
+ */
1779
+ export type TorqueUnitFrom<M extends UnknownUnitMeta> = UnitFrom<TorqueUnitClass, M>;
1780
+ /**
1781
+ * A unit of {@link Torque}.
1782
+ *
1783
+ * @group Units
1784
+ * @category Kinematic
1785
+ * @symbol `J/rad`
1786
+ */
1787
+ export type JoulePerRadian = TorqueUnit<{}>;
1788
+ /**
1789
+ * A unit of {@link Torque}.
1790
+ *
1791
+ * @group Units
1792
+ * @category Kinematic
1793
+ * @symbol `N⋅m/rad`
1794
+ */
1795
+ export type NewtonMeterPerRadian = JoulePerRadian;
1796
+ /**
1797
+ * @group Unit Classes
1798
+ * @category Kinematic
1799
+ */
1800
+ export type VelocityUnitClass = BaseUnitClass<{
1801
+ Meter: 1;
1802
+ Second: -1;
1803
+ }>;
1804
+ /**
1805
+ * @group Abstract Units
1806
+ * @category Kinematic
1807
+ */
1808
+ export type Velocity = AbstractUnitFrom<VelocityUnitClass>;
1809
+ /**
1810
+ * @group Unit Generators
1811
+ * @category Kinematic
1812
+ */
1813
+ export type VelocityUnit<M extends UnitSubvalues> = VelocityUnitFrom<UnitMeta<M>>;
1814
+ /**
1815
+ * @group Unit Generators
1816
+ * @category Kinematic
1817
+ */
1818
+ export type VelocityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<VelocityUnitClass, M>;
1819
+ /**
1820
+ * A unit of {@link Velocity}.
1821
+ *
1822
+ * @group Units
1823
+ * @category Kinematic
1824
+ * @symbol `m/s`
1825
+ */
1826
+ export type MeterPerSecond = VelocityUnit<{}>;
1827
+ /**
1828
+ * @group Unit Classes
1829
+ * @category Kinematic
1830
+ */
1831
+ export type VolumetricFlowUnitClass = BaseUnitClass<{
1832
+ Meter: 3;
1833
+ Second: -1;
1834
+ }>;
1835
+ /**
1836
+ * @group Unit Classes
1837
+ * @category Kinematic
1838
+ */
1839
+ export type VolumetricFlow = AbstractUnitFrom<VolumetricFlowUnitClass>;
1840
+ /**
1841
+ * @group Unit Classes
1842
+ * @category Kinematic
1843
+ */
1844
+ export type VolumetricFlowUnit<M extends UnitSubvalues> = VolumetricFlowUnitFrom<UnitMeta<M>>;
1845
+ /**
1846
+ * @group Unit Classes
1847
+ * @category Kinematic
1848
+ */
1849
+ export type VolumetricFlowUnitFrom<M extends UnknownUnitMeta> = UnitFrom<VolumetricFlowUnitClass, M>;
1850
+ /**
1851
+ * A unit of {@link VolumetricFlow}.
1852
+ *
1853
+ * @group Units
1854
+ * @category Kinematic
1855
+ * @symbol `m³/s`
1856
+ */
1857
+ export type CubicMeterPerSecond = VolumetricFlowUnit<{}>;
1858
+ /**
1859
+ * @group Unit Classes
1860
+ * @category Mechanical
1861
+ */
1862
+ export type AbsorbedDoseRateUnitClass = BaseUnitClass<{
1863
+ Meter: 2;
1864
+ Second: -3;
1865
+ }>;
1866
+ /**
1867
+ * @group Abstract Units
1868
+ * @category Mechanical
1869
+ */
1870
+ export type AbsorbedDoseRate = AbstractUnitFrom<AbsorbedDoseRateUnitClass>;
1871
+ /**
1872
+ * @group Unit Generators
1873
+ * @category Mechanical
1874
+ */
1875
+ export type AbsorbedDoseRateUnit<M extends UnitSubvalues> = AbsorbedDoseRateUnitFrom<UnitMeta<M>>;
1876
+ /**
1877
+ * @group Unit Generators
1878
+ * @category Mechanical
1879
+ */
1880
+ export type AbsorbedDoseRateUnitFrom<M extends UnknownUnitMeta> = UnitFrom<AbsorbedDoseRateUnitClass, M>;
1881
+ /**
1882
+ * A unit of {@link AbsorbedDoseRate}.
1883
+ *
1884
+ * @group Units
1885
+ * @category Mechanical
1886
+ * @symbol `Gy/s`
1887
+ */
1888
+ export type GrayPerSecond = AbsorbedDoseRateUnit<{}>;
1889
+ /**
1890
+ * @group Unit Classes
1891
+ * @category Mechanical
1892
+ */
1893
+ export type ActionUnitClass = BaseUnitClass<{
1894
+ Kilogram: 1;
1895
+ Meter: 2;
1896
+ Second: -1;
1897
+ }>;
1898
+ /**
1899
+ * @group Abstract Units
1900
+ * @category Mechanical
1901
+ */
1902
+ export type Action = AbstractUnitFrom<ActionUnitClass>;
1903
+ /**
1904
+ * @group Unit Generators
1905
+ * @category Mechanical
1906
+ */
1907
+ export type ActionUnit<M extends UnitSubvalues> = ActionUnitFrom<UnitMeta<M>>;
1908
+ /**
1909
+ * @group Unit Generators
1910
+ * @category Mechanical
1911
+ */
1912
+ export type ActionUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ActionUnitClass, M>;
1913
+ /**
1914
+ * A unit of {@link Action}.
1915
+ *
1916
+ * @group Units
1917
+ * @category Mechanical
1918
+ * @symbol `Js`
1919
+ */
1920
+ export type JouleSecond = ActionUnit<{}>;
1921
+ /**
1922
+ * @group Unit Classes
1923
+ * @category Mechanical
1924
+ */
1925
+ export type SpecificAngularMomentumUnitClass = BaseUnitClass<{
1926
+ Meter: 2;
1927
+ Second: -1;
1928
+ Radian: -1;
1929
+ }>;
1930
+ /**
1931
+ * @group Abstract Units
1932
+ * @category Mechanical
1933
+ */
1934
+ export type SpecificAngularMomentum = AbstractUnitFrom<SpecificAngularMomentumUnitClass>;
1935
+ /**
1936
+ * @group Unit Generators
1937
+ * @category Mechanical
1938
+ */
1939
+ export type SpecificAngularMomentumUnit<M extends UnitSubvalues> = SpecificAngularMomentumUnitFrom<UnitMeta<M>>;
1940
+ /**
1941
+ * @group Unit Generators
1942
+ * @category Mechanical
1943
+ */
1944
+ export type SpecificAngularMomentumUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpecificAngularMomentumUnitClass, M>;
1945
+ /**
1946
+ * A unit of {@link SpecificAngularMomentum}.
1947
+ *
1948
+ * @group Units
1949
+ * @category Mechanical
1950
+ * @symbol `J⋅s/rad/kg`
1951
+ */
1952
+ export type JouleSecondPerRadianPerKilogram = SpecificAngularMomentumUnit<{}>;
1953
+ /**
1954
+ * A unit of {@link SpecificAngularMomentum}.
1955
+ *
1956
+ * @group Units
1957
+ * @category Mechanical
1958
+ * @symbol `N⋅m⋅s/rad/kg`
1959
+ */
1960
+ export type NewtonMeterSecondPerRadianPerKilogram = JouleSecondPerRadianPerKilogram;
1961
+ /**
1962
+ * @group Unit Classes
1963
+ * @category Mechanical
1964
+ */
1965
+ export type AreaUnitClass = BaseUnitClass<{
1966
+ Meter: 2;
1967
+ }>;
1968
+ /**
1969
+ * @group Abstract Units
1970
+ * @category Mechanical
1971
+ */
1972
+ export type Area = AbstractUnitFrom<AreaUnitClass>;
1973
+ /**
1974
+ * @group Unit Generators
1975
+ * @category Mechanical
1976
+ */
1977
+ export type AreaUnit<M extends UnitSubvalues> = AreaUnitFrom<UnitMeta<M>>;
1978
+ /**
1979
+ * @group Unit Generators
1980
+ * @category Mechanical
1981
+ */
1982
+ export type AreaUnitFrom<M extends UnknownUnitMeta> = UnitFrom<AreaUnitClass, M>;
1983
+ /**
1984
+ * A unit of {@link Area} equal to 100 {@link Square}<{@link Meter}>.
1985
+ *
1986
+ * @group Units
1987
+ * @category Mechanical
1988
+ * @symbol `a`
1989
+ */
1990
+ export type Are = AreaUnit<{
1991
+ scalar10: 2;
1992
+ }>;
1993
+ /**
1994
+ * A unit of {@link Area} equal to 10,000 {@link Square}<{@link Meter}>.
1995
+ *
1996
+ * @group Units
1997
+ * @category Mechanical
1998
+ * @symbol `ha`
1999
+ */
2000
+ export type Hectare = AreaUnit<{
2001
+ scalar10: 4;
2002
+ }>;
2003
+ /**
2004
+ * @group Unit Classes
2005
+ * @category Mechanical
2006
+ */
2007
+ export type CompressibilityUnitClass = Reciprocal<PressureUnitClass>;
2008
+ /**
2009
+ * @group Abstract Units
2010
+ * @category Mechanical
2011
+ */
2012
+ export type Compressibility = Reciprocal<Pressure>;
2013
+ /**
2014
+ * @group Unit Generators
2015
+ * @category Mechanical
2016
+ */
2017
+ export type CompressibilityUnit<M extends UnitSubvalues> = CompressibilityUnitFrom<UnitMeta<M>>;
2018
+ /**
2019
+ * @group Unit Generators
2020
+ * @category Mechanical
2021
+ */
2022
+ export type CompressibilityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<CompressibilityUnitClass, M>;
2023
+ /**
2024
+ * @group Unit Classes
2025
+ * @category Mechanical
2026
+ */
2027
+ export type DensityUnitClass = BaseUnitClass<{
2028
+ Kilogram: 1;
2029
+ Meter: -3;
2030
+ }>;
2031
+ /**
2032
+ * @group Abstract Units
2033
+ * @category Mechanical
2034
+ */
2035
+ export type Density = AbstractUnitFrom<DensityUnitClass>;
2036
+ /**
2037
+ * @group Unit Generators
2038
+ * @category Mechanical
2039
+ */
2040
+ export type DensityUnit<M extends UnitSubvalues> = DensityUnitFrom<UnitMeta<M>>;
2041
+ /**
2042
+ * @group Unit Generators
2043
+ * @category Mechanical
2044
+ */
2045
+ export type DensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<DensityUnitClass, M>;
2046
+ /**
2047
+ * A unit of {@link Density}.
2048
+ *
2049
+ * @group Units
2050
+ * @category Mechanical
2051
+ * @symbol `kg/m³`
2052
+ */
2053
+ export type KilogramPerCubicMeter = DensityUnit<{}>;
2054
+ /**
2055
+ * @group Unit Classes
2056
+ * @category Mechanical
2057
+ */
2058
+ export type DynamicViscosityUnitClass = BaseUnitClass<{
2059
+ Kilogram: 1;
2060
+ Meter: -1;
2061
+ Second: -1;
2062
+ }>;
2063
+ /**
2064
+ * @group Abstract Units
2065
+ * @category Mechanical
2066
+ */
2067
+ export type DynamicViscosity = AbstractUnitFrom<DynamicViscosityUnitClass>;
2068
+ /**
2069
+ * @group Unit Generators
2070
+ * @category Mechanical
2071
+ */
2072
+ export type DynamicViscosityUnit<M extends UnitSubvalues> = DynamicViscosityUnitFrom<UnitMeta<M>>;
2073
+ /**
2074
+ * @group Unit Generators
2075
+ * @category Mechanical
2076
+ */
2077
+ export type DynamicViscosityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<DynamicViscosityUnitClass, M>;
2078
+ /**
2079
+ * A unit of {@link DynamicViscosity}.
2080
+ *
2081
+ * @group Units
2082
+ * @category Mechanical
2083
+ * @symbol `Pa⋅s`
2084
+ */
2085
+ export type PascalSecond = DynamicViscosityUnit<{}>;
2086
+ /**
2087
+ * @group Unit Classes
2088
+ * @category Mechanical
2089
+ */
2090
+ export type EnergyDensityUnitClass = BaseUnitClass<{
2091
+ Kilogram: 1;
2092
+ Meter: -1;
2093
+ Second: -2;
2094
+ }>;
2095
+ /**
2096
+ * @group Abstract Units
2097
+ * @category Mechanical
2098
+ */
2099
+ export type EnergyDensity = AbstractUnitFrom<EnergyDensityUnitClass>;
2100
+ /**
2101
+ * @group Unit Generators
2102
+ * @category Mechanical
2103
+ */
2104
+ export type EnergyDensityUnit<M extends UnitSubvalues> = EnergyDensityUnitFrom<UnitMeta<M>>;
2105
+ /**
2106
+ * @group Unit Generators
2107
+ * @category Mechanical
2108
+ */
2109
+ export type EnergyDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<EnergyDensityUnitClass, M>;
2110
+ /**
2111
+ * A unit of {@link EnergyDensity}.
2112
+ *
2113
+ * @group Units
2114
+ * @category Mechanical
2115
+ * @symbol `J/m³`
2116
+ */
2117
+ export type JoulePerCubicMeter = EnergyDensityUnit<{}>;
2118
+ /**
2119
+ * @group Unit Classes
2120
+ * @category Mechanical
2121
+ */
2122
+ export type EnergyFluxDensityUnitClass = BaseUnitClass<{
2123
+ Kilogram: 1;
2124
+ Second: -3;
2125
+ }>;
2126
+ /**
2127
+ * @group Abstract Units
2128
+ * @category Mechanical
2129
+ */
2130
+ export type EnergyFluxDensity = AbstractUnitFrom<EnergyFluxDensityUnitClass>;
2131
+ /**
2132
+ * @group Unit Generators
2133
+ * @category Mechanical
2134
+ */
2135
+ export type EnergyFluxDensityUnit<M extends UnitSubvalues> = EnergyFluxDensityUnitFrom<UnitMeta<M>>;
2136
+ /**
2137
+ * @group Unit Generators
2138
+ * @category Mechanical
2139
+ */
2140
+ export type EnergyFluxDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<EnergyFluxDensityUnitClass, M>;
2141
+ /**
2142
+ * A unit of {@link EnergyFluxDensity}.
2143
+ *
2144
+ * @group Units
2145
+ * @category Mechanical
2146
+ * @symbol `J/(m²⋅s)`
2147
+ */
2148
+ export type JoulePerSquareMeterSecond = EnergyFluxDensityUnit<{}>;
2149
+ /**
2150
+ * @group Unit Classes
2151
+ * @category Mechanical
2152
+ */
2153
+ export type EnergyUnitClass = BaseUnitClass<{
2154
+ Kilogram: 1;
2155
+ Meter: 2;
2156
+ Second: -2;
2157
+ }>;
2158
+ /**
2159
+ * @group Abstract Units
2160
+ * @category Mechanical
2161
+ */
2162
+ export type Energy = AbstractUnitFrom<EnergyUnitClass>;
2163
+ /**
2164
+ * @group Unit Generators
2165
+ * @category Mechanical
2166
+ */
2167
+ export type EnergyUnit<M extends UnitSubvalues> = EnergyUnitFrom<UnitMeta<M>>;
2168
+ /**
2169
+ * @group Unit Generators
2170
+ * @category Mechanical
2171
+ */
2172
+ export type EnergyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<EnergyUnitClass, M>;
2173
+ /**
2174
+ * A unit of {@link Energy}.
2175
+ *
2176
+ * One joule is the amount of work done when an applied force of 1 newton moves
2177
+ * through a distance of 1 meter in the direction of the force.
2178
+ *
2179
+ * @group Units
2180
+ * @category Derived
2181
+ * @category Mechanical
2182
+ * @symbol `J`
2183
+ */
2184
+ export type Joule = EnergyUnit<{}>;
2185
+ /**
2186
+ * A unit of {@link Energy}.
2187
+ *
2188
+ * @group Units
2189
+ * @category Mechanical
2190
+ * @symbol `W⋅s`
2191
+ */
2192
+ export type WattSecond = Joule;
2193
+ /**
2194
+ * A unit of {@link Energy}.
2195
+ *
2196
+ * @group Units
2197
+ * @category Mechanical
2198
+ * @symbol `W⋅min`
2199
+ */
2200
+ export type WattMinute = EnergyUnit<{
2201
+ scalar60: 1;
2202
+ }>;
2203
+ /**
2204
+ * A unit of {@link Energy}.
2205
+ *
2206
+ * @group Units
2207
+ * @category Mechanical
2208
+ * @symbol `W⋅hr`
2209
+ */
2210
+ export type WattHour = EnergyUnit<{
2211
+ scalar60: 2;
2212
+ }>;
2213
+ /**
2214
+ * @group Unit Classes
2215
+ * @category Mechanical
2216
+ */
2217
+ export type EnthalpyUnitClass = BaseUnitClass<{
2218
+ Meter: 2;
2219
+ Second: -2;
2220
+ }>;
2221
+ /**
2222
+ * @group Abstract Units
2223
+ * @category Mechanical
2224
+ */
2225
+ export type Enthalpy = AbstractUnitFrom<EnthalpyUnitClass>;
2226
+ /**
2227
+ * @group Unit Generators
2228
+ * @category Mechanical
2229
+ */
2230
+ export type EnthalpyUnit<M extends UnitSubvalues> = EnthalpyUnitFrom<UnitMeta<M>>;
2231
+ /**
2232
+ * @group Unit Generators
2233
+ * @category Mechanical
2234
+ */
2235
+ export type EnthalpyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<EnthalpyUnitClass, M>;
2236
+ /**
2237
+ * A unit of {@link Enthalpy}.
2238
+ *
2239
+ * One gray is equal to the dose of one joule of energy absorbed per one kilogram of matter.
2240
+ *
2241
+ * @group Units
2242
+ * @category Derived
2243
+ * @category Mechanical
2244
+ * @symbol `Gy`
2245
+ */
2246
+ export type Gray = EnthalpyUnit<{}>;
2247
+ /**
2248
+ * @group Unit Classes
2249
+ * @category Mechanical
2250
+ */
2251
+ export type ForceUnitClass = BaseUnitClass<{
2252
+ Kilogram: 1;
2253
+ Meter: 1;
2254
+ Second: -2;
2255
+ }>;
2256
+ /**
2257
+ * @group Abstract Units
2258
+ * @category Mechanical
2259
+ */
2260
+ export type Force = AbstractUnitFrom<ForceUnitClass>;
2261
+ /**
2262
+ * @group Unit Generators
2263
+ * @category Mechanical
2264
+ */
2265
+ export type ForceUnit<M extends UnitSubvalues> = ForceUnitFrom<UnitMeta<M>>;
2266
+ /**
2267
+ * @group Unit Generators
2268
+ * @category Mechanical
2269
+ */
2270
+ export type ForceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ForceUnitClass, M>;
2271
+ /**
2272
+ * A unit of {@link Force}.
2273
+ *
2274
+ * One newton is the force required to accelerate a mass of 1 kilogram at 1 meter per second per second.
2275
+ *
2276
+ * @group Units
2277
+ * @category Derived
2278
+ * @category Mechanical
2279
+ * @symbol `N`
2280
+ */
2281
+ export type Newton = ForceUnit<{}>;
2282
+ /**
2283
+ * @group Unit Classes
2284
+ * @category Mechanical
2285
+ */
2286
+ export type IntensityUnitClass = BaseUnitClass<{
2287
+ Kilogram: 1;
2288
+ Second: -3;
2289
+ }>;
2290
+ /**
2291
+ * @group Abstract Units
2292
+ * @category Mechanical
2293
+ */
2294
+ export type Intensity = AbstractUnitFrom<IntensityUnitClass>;
2295
+ /**
2296
+ * @group Unit Generators
2297
+ * @category Mechanical
2298
+ */
2299
+ export type IntensityUnit<M extends UnitSubvalues> = IntensityUnitFrom<UnitMeta<M>>;
2300
+ /**
2301
+ * @group Unit Generators
2302
+ * @category Mechanical
2303
+ */
2304
+ export type IntensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<IntensityUnitClass, M>;
2305
+ /**
2306
+ * A unit of {@link Intensity}.
2307
+ *
2308
+ * @group Units
2309
+ * @category Mechanical
2310
+ * @symbol `W/m²`
2311
+ */
2312
+ export type WattPerSquareMeter = IntensityUnit<{}>;
2313
+ /**
2314
+ * @group Unit Classes
2315
+ * @category Mechanical
2316
+ */
2317
+ export type LengthUnitClass = BaseUnitClass<{
2318
+ Meter: 1;
2319
+ }>;
2320
+ /**
2321
+ * @group Abstract Units
2322
+ * @category Mechanical
2323
+ */
2324
+ export type Length = AbstractUnitFrom<LengthUnitClass>;
2325
+ /**
2326
+ * @group Unit Generators
2327
+ * @category Mechanical
2328
+ */
2329
+ export type LengthUnit<M extends UnitSubvalues> = LengthUnitFrom<UnitMeta<M>>;
2330
+ /**
2331
+ * @group Unit Generators
2332
+ * @category Mechanical
2333
+ */
2334
+ export type LengthUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LengthUnitClass, M>;
2335
+ /**
2336
+ * A unit of {@link Length}.
2337
+ *
2338
+ * @group Units
2339
+ * @category Base
2340
+ * @category Mechanical
2341
+ * @symbol `m`
2342
+ */
2343
+ export type Meter = LengthUnit<{}>;
2344
+ /**
2345
+ * @group Unit Classes
2346
+ * @category Mechanical
2347
+ */
2348
+ export type LinearMassDensityUnitClass = BaseUnitClass<{
2349
+ Kilogram: 1;
2350
+ Meter: -1;
2351
+ }>;
2352
+ /**
2353
+ * @group Abstract Units
2354
+ * @category Mechanical
2355
+ */
2356
+ export type LinearMassDensity = AbstractUnitFrom<LinearMassDensityUnitClass>;
2357
+ /**
2358
+ * @group Unit Generators
2359
+ * @category Mechanical
2360
+ */
2361
+ export type LinearMassDensityUnit<M extends UnitSubvalues> = LinearMassDensityUnitFrom<UnitMeta<M>>;
2362
+ /**
2363
+ * @group Unit Generators
2364
+ * @category Mechanical
2365
+ */
2366
+ export type LinearMassDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LinearMassDensityUnitClass, M>;
2367
+ /**
2368
+ * A unit of {@link LinearMassDensity}.
2369
+ *
2370
+ * @group Units
2371
+ * @category Mechanical
2372
+ * @symbol `kg/m`
2373
+ */
2374
+ export type KilogramPerMeter = LinearMassDensityUnit<{}>;
2375
+ /**
2376
+ * @group Unit Classes
2377
+ * @category Mechanical
2378
+ */
2379
+ export type MassFlowRateUnitClass = BaseUnitClass<{
2380
+ Kilogram: 1;
2381
+ Second: -1;
2382
+ }>;
2383
+ /**
2384
+ * @group Abstract Units
2385
+ * @category Mechanical
2386
+ */
2387
+ export type MassFlowRate = AbstractUnitFrom<MassFlowRateUnitClass>;
2388
+ /**
2389
+ * @group Unit Generators
2390
+ * @category Mechanical
2391
+ */
2392
+ export type MassFlowRateUnit<M extends UnitSubvalues> = MassFlowRateUnitFrom<UnitMeta<M>>;
2393
+ /**
2394
+ * @group Unit Generators
2395
+ * @category Mechanical
2396
+ */
2397
+ export type MassFlowRateUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MassFlowRateUnitClass, M>;
2398
+ /**
2399
+ * A unit of {@link MassFlowRate}.
2400
+ *
2401
+ * @group Units
2402
+ * @category Mechanical
2403
+ * @symbol `kg/s`
2404
+ */
2405
+ export type KilogramPerSecond = MassFlowRateUnit<{}>;
2406
+ /**
2407
+ * @group Unit Classes
2408
+ * @category Mechanical
2409
+ */
2410
+ export type MassUnitClass = BaseUnitClass<{
2411
+ Kilogram: 1;
2412
+ }>;
2413
+ /**
2414
+ * @group Abstract Units
2415
+ * @category Mechanical
2416
+ */
2417
+ export type Mass = AbstractUnitFrom<MassUnitClass>;
2418
+ /**
2419
+ * @group Unit Generators
2420
+ * @category Mechanical
2421
+ */
2422
+ export type MassUnit<M extends UnitSubvalues> = MassUnitFrom<UnitMeta<M>>;
2423
+ /**
2424
+ * @group Unit Generators
2425
+ * @category Mechanical
2426
+ */
2427
+ export type MassUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MassUnitClass, M>;
2428
+ /**
2429
+ * A unit of {@link Mass}.
2430
+ *
2431
+ * @group Units
2432
+ * @category Base
2433
+ * @category Mechanical
2434
+ * @symbol `g`
2435
+ */
2436
+ export type Gram = MassUnit<{
2437
+ scalar10: -3;
2438
+ }>;
2439
+ /**
2440
+ * A unit of {@link Mass}.
2441
+ *
2442
+ * @group Units
2443
+ * @category Mechanical
2444
+ * @symbol `t`
2445
+ */
2446
+ export type Tonne = MassUnit<{
2447
+ scalar10: 3;
2448
+ }>;
2449
+ /**
2450
+ * @group Unit Classes
2451
+ * @category Mechanical
2452
+ */
2453
+ export type MomentOfInertiaUnitClass = BaseUnitClass<{
2454
+ Kilogram: 1;
2455
+ Meter: 2;
2456
+ Radian: -2;
2457
+ }>;
2458
+ /**
2459
+ * @group Abstract Units
2460
+ * @category Mechanical
2461
+ */
2462
+ export type MomentOfInertia = AbstractUnitFrom<MomentOfInertiaUnitClass>;
2463
+ /**
2464
+ * @group Unit Generators
2465
+ * @category Mechanical
2466
+ */
2467
+ export type MomentOfInertiaUnit<M extends UnitSubvalues> = MomentOfInertiaUnitFrom<UnitMeta<M>>;
2468
+ /**
2469
+ * @group Unit Generators
2470
+ * @category Mechanical
2471
+ */
2472
+ export type MomentOfInertiaUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MomentOfInertiaUnitClass, M>;
2473
+ /**
2474
+ * A unit of {@link MomentOfInertia}.
2475
+ *
2476
+ * @group Units
2477
+ * @category Mechanical
2478
+ * @symbol `kg⋅m²/sr`
2479
+ */
2480
+ export type KilogramSquareMeterPerSteradian = MomentOfInertiaUnit<{}>;
2481
+ /**
2482
+ * @group Unit Classes
2483
+ * @category Mechanical
2484
+ */
2485
+ export type MomentumUnitClass = BaseUnitClass<{
2486
+ Kilogram: 1;
2487
+ Meter: 1;
2488
+ Second: -1;
2489
+ }>;
2490
+ /**
2491
+ * @group Abstract Units
2492
+ * @category Mechanical
2493
+ */
2494
+ export type Momentum = AbstractUnitFrom<MomentumUnitClass>;
2495
+ /**
2496
+ * @group Unit Generators
2497
+ * @category Mechanical
2498
+ */
2499
+ export type MomentumUnit<M extends UnitSubvalues> = MomentumUnitFrom<UnitMeta<M>>;
2500
+ /**
2501
+ * @group Unit Generators
2502
+ * @category Mechanical
2503
+ */
2504
+ export type MomentumUnitFrom<M extends UnknownUnitMeta> = UnitFrom<MomentumUnitClass, M>;
2505
+ /**
2506
+ * One newton second corresponds to a one newton of force applied for one second.
2507
+ *
2508
+ * @group Units
2509
+ * @category Mechanical
2510
+ * @symbol `N⋅s`
2511
+ */
2512
+ export type NewtonSecond = MomentumUnit<{}>;
2513
+ /**
2514
+ * @group Unit Classes
2515
+ * @category Mechanical
2516
+ */
2517
+ export type PressureUnitClass = BaseUnitClass<{
2518
+ Kilogram: 1;
2519
+ Meter: -1;
2520
+ Second: -2;
2521
+ }>;
2522
+ /**
2523
+ * @group Abstract Units
2524
+ * @category Mechanical
2525
+ */
2526
+ export type Pressure = AbstractUnitFrom<PressureUnitClass>;
2527
+ /**
2528
+ * @group Unit Generators
2529
+ * @category Mechanical
2530
+ */
2531
+ export type PressureUnit<M extends UnitSubvalues> = PressureUnitFrom<UnitMeta<M>>;
2532
+ /**
2533
+ * @group Unit Generators
2534
+ * @category Mechanical
2535
+ */
2536
+ export type PressureUnitFrom<M extends UnknownUnitMeta> = UnitFrom<PressureUnitClass, M>;
2537
+ /**
2538
+ * A unit of {@link Pressure}.
2539
+ *
2540
+ * One pascal is equal to one newton per square meter.
2541
+ *
2542
+ * @group Units
2543
+ * @category Derived
2544
+ * @category Mechanical
2545
+ * @symbol `Pa`
2546
+ */
2547
+ export type Pascal = PressureUnit<{}>;
2548
+ /**
2549
+ * @group Unit Classes
2550
+ * @category Mechanical
2551
+ */
2552
+ export type SpectralRadianceUnitClass = BaseUnitClass<{
2553
+ Kilogram: 1;
2554
+ Meter: -1;
2555
+ Radian: -2;
2556
+ Second: -3;
2557
+ }>;
2558
+ /**
2559
+ * @group Abstract Units
2560
+ * @category Mechanical
2561
+ */
2562
+ export type SpectralRadiance = AbstractUnitFrom<SpectralRadianceUnitClass>;
2563
+ /**
2564
+ * @group Unit Generators
2565
+ * @category Mechanical
2566
+ */
2567
+ export type SpectralRadianceUnit<M extends UnitSubvalues> = SpectralRadianceUnitFrom<UnitMeta<M>>;
2568
+ /**
2569
+ * @group Unit Generators
2570
+ * @category Mechanical
2571
+ */
2572
+ export type SpectralRadianceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpectralRadianceUnitClass, M>;
2573
+ /**
2574
+ * A unit of {@link SpectralRadiance}.
2575
+ *
2576
+ * @group Units
2577
+ * @category Mechanical
2578
+ * @symbol `W/(sr⋅m³)`
2579
+ */
2580
+ export type WattPerSteradianCubicMeter = SpectralRadianceUnit<{}>;
2581
+ /**
2582
+ * @group Unit Classes
2583
+ * @category Mechanical
2584
+ */
2585
+ export type RadianceUnitClass = BaseUnitClass<{
2586
+ Kilogram: 1;
2587
+ Second: -3;
2588
+ Radian: -2;
2589
+ }>;
2590
+ /**
2591
+ * @group Abstract Units
2592
+ * @category Mechanical
2593
+ */
2594
+ export type Radiance = AbstractUnitFrom<RadianceUnitClass>;
2595
+ /**
2596
+ * @group Unit Generators
2597
+ * @category Mechanical
2598
+ */
2599
+ export type RadianceUnit<M extends UnitSubvalues> = RadianceUnitFrom<UnitMeta<M>>;
2600
+ /**
2601
+ * @group Unit Generators
2602
+ * @category Mechanical
2603
+ */
2604
+ export type RadianceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<RadianceUnitClass, M>;
2605
+ /**
2606
+ * A unit of {@link Radiance}.
2607
+ *
2608
+ * @group Units
2609
+ * @category Mechanical
2610
+ * @symbol `W/(sr⋅m²)`
2611
+ */
2612
+ export type WattPerSteradianSquareMeter = RadianceUnit<{}>;
2613
+ /**
2614
+ * @group Unit Classes
2615
+ * @category Mechanical
2616
+ */
2617
+ export type RadiantExposureUnitClass = BaseUnitClass<{
2618
+ Kilogram: 1;
2619
+ Second: -2;
2620
+ }>;
2621
+ /**
2622
+ * @group Abstract Units
2623
+ * @category Mechanical
2624
+ */
2625
+ export type RadiantExposure = AbstractUnitFrom<RadiantExposureUnitClass>;
2626
+ /**
2627
+ * @group Unit Generators
2628
+ * @category Mechanical
2629
+ */
2630
+ export type RadiantExposureUnit<M extends UnitSubvalues> = RadiantExposureUnitFrom<UnitMeta<M>>;
2631
+ /**
2632
+ * @group Unit Generators
2633
+ * @category Mechanical
2634
+ */
2635
+ export type RadiantExposureUnitFrom<M extends UnknownUnitMeta> = UnitFrom<RadiantExposureUnitClass, M>;
2636
+ /**
2637
+ * A unit of {@link RadiantExposure}.
2638
+ *
2639
+ * @group Units
2640
+ * @category Mechanical
2641
+ * @symbol `J/m²`
2642
+ */
2643
+ export type JoulePerSquareMeter = RadiantExposureUnit<{}>;
2644
+ /**
2645
+ * @group Unit Classes
2646
+ * @category Mechanical
2647
+ */
2648
+ export type RadiantIntensityUnitClass = BaseUnitClass<{
2649
+ Kilogram: 1;
2650
+ Meter: 2;
2651
+ Second: -3;
2652
+ Radian: -2;
2653
+ }>;
2654
+ /**
2655
+ * @group Abstract Units
2656
+ * @category Mechanical
2657
+ */
2658
+ export type RadiantIntensity = AbstractUnitFrom<RadiantIntensityUnitClass>;
2659
+ /**
2660
+ * @group Unit Generators
2661
+ * @category Mechanical
2662
+ */
2663
+ export type RadiantIntensityUnit<M extends UnitSubvalues> = RadiantIntensityUnitFrom<UnitMeta<M>>;
2664
+ /**
2665
+ * @group Unit Generators
2666
+ * @category Mechanical
2667
+ */
2668
+ export type RadiantIntensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<RadiantIntensityUnitClass, M>;
2669
+ /**
2670
+ * A unit of {@link RadiantIntensity}.
2671
+ *
2672
+ * @group Units
2673
+ * @category Mechanical
2674
+ * @symbol `W/sr`
2675
+ */
2676
+ export type WattPerSteradian = RadiantIntensityUnit<{}>;
2677
+ /**
2678
+ * @group Unit Classes
2679
+ * @category Mechanical
2680
+ */
2681
+ export type SpecificEnergyUnitClass = BaseUnitClass<{
2682
+ Meter: 2;
2683
+ Second: -2;
2684
+ }>;
2685
+ /**
2686
+ * @group Abstract Units
2687
+ * @category Mechanical
2688
+ */
2689
+ export type SpecificEnergy = AbstractUnitFrom<SpecificEnergyUnitClass>;
2690
+ /**
2691
+ * @group Unit Generators
2692
+ * @category Mechanical
2693
+ */
2694
+ export type SpecificEnergyUnit<M extends UnitSubvalues> = SpecificEnergyUnitFrom<UnitMeta<M>>;
2695
+ /**
2696
+ * @group Unit Generators
2697
+ * @category Mechanical
2698
+ */
2699
+ export type SpecificEnergyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpecificEnergyUnitClass, M>;
2700
+ /**
2701
+ * A unit of {@link SpecificEnergy}.
2702
+ *
2703
+ * @group Units
2704
+ * @category Mechanical
2705
+ * @symbol `J/kg`
2706
+ */
2707
+ export type JoulePerKilogram = SpecificEnergyUnit<{}>;
2708
+ /**
2709
+ * @group Unit Classes
2710
+ * @category Mechanical
2711
+ */
2712
+ export type SpectralIntensityUnitClass = BaseUnitClass<{
2713
+ Kilogram: 1;
2714
+ Meter: 1;
2715
+ Second: -3;
2716
+ Radian: -2;
2717
+ }>;
2718
+ /**
2719
+ * @group Abstract Units
2720
+ * @category Mechanical
2721
+ */
2722
+ export type SpectralIntensity = AbstractUnitFrom<SpectralIntensityUnitClass>;
2723
+ /**
2724
+ * @group Unit Generators
2725
+ * @category Mechanical
2726
+ */
2727
+ export type SpectralIntensityUnit<M extends UnitSubvalues> = SpectralIntensityUnitFrom<UnitMeta<M>>;
2728
+ /**
2729
+ * @group Unit Generators
2730
+ * @category Mechanical
2731
+ */
2732
+ export type SpectralIntensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpectralIntensityUnitClass, M>;
2733
+ /**
2734
+ * A unit of {@link SpectralIntensity}.
2735
+ *
2736
+ * @group Units
2737
+ * @category Mechanical
2738
+ * @symbol `W/(sr⋅m)`
2739
+ */
2740
+ export type WattPerSteradianMeter = SpectralIntensityUnit<{}>;
2741
+ /**
2742
+ * @group Unit Classes
2743
+ * @category Mechanical
2744
+ */
2745
+ export type SpectralIrradianceUnitClass = BaseUnitClass<{
2746
+ Kilogram: 1;
2747
+ Meter: -1;
2748
+ Second: -3;
2749
+ }>;
2750
+ /**
2751
+ * @group Abstract Units
2752
+ * @category Mechanical
2753
+ */
2754
+ export type SpectralIrradiance = AbstractUnitFrom<SpectralIrradianceUnitClass>;
2755
+ /**
2756
+ * @group Unit Generators
2757
+ * @category Mechanical
2758
+ */
2759
+ export type SpectralIrradianceUnit<M extends UnitSubvalues> = SpectralIrradianceUnitFrom<UnitMeta<M>>;
2760
+ /**
2761
+ * @group Unit Generators
2762
+ * @category Mechanical
2763
+ */
2764
+ export type SpectralIrradianceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpectralIrradianceUnitClass, M>;
2765
+ /**
2766
+ * A unit of {@link SpectralIrradiance}.
2767
+ *
2768
+ * @group Units
2769
+ * @category Mechanical
2770
+ * @symbol `W/m³`
2771
+ */
2772
+ export type WattPerCubicMeter = SpectralIrradianceUnit<{}>;
2773
+ /**
2774
+ * @group Unit Classes
2775
+ * @category Mechanical
2776
+ */
2777
+ export type SpectralPowerUnitClass = BaseUnitClass<{
2778
+ Kilogram: 1;
2779
+ Meter: 1;
2780
+ Second: -3;
2781
+ }>;
2782
+ /**
2783
+ * @group Abstract Units
2784
+ * @category Mechanical
2785
+ */
2786
+ export type SpectralPower = AbstractUnitFrom<SpectralPowerUnitClass>;
2787
+ /**
2788
+ * @group Unit Generators
2789
+ * @category Mechanical
2790
+ */
2791
+ export type SpectralPowerUnit<M extends UnitSubvalues> = SpectralPowerUnitFrom<UnitMeta<M>>;
2792
+ /**
2793
+ * @group Unit Generators
2794
+ * @category Mechanical
2795
+ */
2796
+ export type SpectralPowerUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpectralPowerUnitClass, M>;
2797
+ /**
2798
+ * A unit of {@link SpectralPower}.
2799
+ *
2800
+ * @group Units
2801
+ * @category Mechanical
2802
+ * @symbol `W/m`
2803
+ */
2804
+ export type WattPerMeter = SpectralPowerUnit<{}>;
2805
+ /**
2806
+ * @group Unit Classes
2807
+ * @category Mechanical
2808
+ */
2809
+ export type StiffnessUnitClass = BaseUnitClass<{
2810
+ Kilogram: 1;
2811
+ Second: -2;
2812
+ }>;
2813
+ /**
2814
+ * @group Abstract Units
2815
+ * @category Mechanical
2816
+ */
2817
+ export type Stiffness = AbstractUnitFrom<StiffnessUnitClass>;
2818
+ /**
2819
+ * @group Unit Generators
2820
+ * @category Mechanical
2821
+ */
2822
+ export type StiffnessUnit<M extends UnitSubvalues> = StiffnessUnitFrom<UnitMeta<M>>;
2823
+ /**
2824
+ * @group Unit Generators
2825
+ * @category Mechanical
2826
+ */
2827
+ export type StiffnessUnitFrom<M extends UnknownUnitMeta> = UnitFrom<StiffnessUnitClass, M>;
2828
+ /**
2829
+ * A unit of {@link Stiffness}.
2830
+ *
2831
+ * @group Units
2832
+ * @category Mechanical
2833
+ * @symbol `N/m`
2834
+ */
2835
+ export type NewtonPerMeter = StiffnessUnit<{}>;
2836
+ /**
2837
+ * @group Unit Classes
2838
+ * @category Mechanical
2839
+ */
2840
+ export type SurfaceDensityUnitClass = BaseUnitClass<{
2841
+ Kilogram: 1;
2842
+ Meter: -2;
2843
+ }>;
2844
+ /**
2845
+ * @group Abstract Units
2846
+ * @category Mechanical
2847
+ */
2848
+ export type SurfaceDensity = AbstractUnitFrom<SurfaceDensityUnitClass>;
2849
+ /**
2850
+ * @group Unit Generators
2851
+ * @category Mechanical
2852
+ */
2853
+ export type SurfaceDensityUnit<M extends UnitSubvalues> = SurfaceDensityUnitFrom<UnitMeta<M>>;
2854
+ /**
2855
+ * @group Unit Generators
2856
+ * @category Mechanical
2857
+ */
2858
+ export type SurfaceDensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SurfaceDensityUnitClass, M>;
2859
+ /**
2860
+ * A unit of {@link SurfaceDensity}.
2861
+ *
2862
+ * @group Units
2863
+ * @category Mechanical
2864
+ * @symbol `kg/m²`
2865
+ */
2866
+ export type KilogramPerSquareMeter = SurfaceDensityUnit<{}>;
2867
+ /**
2868
+ * @group Unit Classes
2869
+ * @category Mechanical
2870
+ */
2871
+ export type KinematicViscosityUnitClass = BaseUnitClass<{
2872
+ Meter: 2;
2873
+ Second: -1;
2874
+ }>;
2875
+ /**
2876
+ * @group Abstract Units
2877
+ * @category Mechanical
2878
+ */
2879
+ export type KinematicViscosity = AbstractUnitFrom<KinematicViscosityUnitClass>;
2880
+ /**
2881
+ * @group Unit Generators
2882
+ * @category Mechanical
2883
+ */
2884
+ export type KinematicViscosityUnit<M extends UnitSubvalues> = KinematicViscosityUnitFrom<UnitMeta<M>>;
2885
+ /**
2886
+ * @group Unit Generators
2887
+ * @category Mechanical
2888
+ */
2889
+ export type KinematicViscosityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<KinematicViscosityUnitClass, M>;
2890
+ /**
2891
+ * A unit of {@link KinematicViscosity}.
2892
+ *
2893
+ * @group Units
2894
+ * @category Mechanical
2895
+ * @symbol `m²/s`
2896
+ */
2897
+ export type SquareMeterPerSecond = KinematicViscosityUnit<{}>;
2898
+ /**
2899
+ * @group Unit Classes
2900
+ * @category Mechanical
2901
+ */
2902
+ export type VolumeUnitClass = BaseUnitClass<{
2903
+ Meter: 3;
2904
+ }>;
2905
+ /**
2906
+ * @group Unit Classes
2907
+ * @category Mechanical
2908
+ */
2909
+ export type Volume = AbstractUnitFrom<VolumeUnitClass>;
2910
+ /**
2911
+ * @group Unit Classes
2912
+ * @category Mechanical
2913
+ */
2914
+ export type VolumeUnit<M extends UnitSubvalues> = VolumeUnitFrom<UnitMeta<M>>;
2915
+ /**
2916
+ * @group Unit Classes
2917
+ * @category Mechanical
2918
+ */
2919
+ export type VolumeUnitFrom<M extends UnknownUnitMeta> = UnitFrom<VolumeUnitClass, M>;
2920
+ /**
2921
+ * A unit of volume.
2922
+ *
2923
+ * @group Units
2924
+ * @category Mechanical
2925
+ * @symbol `l`
2926
+ */
2927
+ export type Liter = VolumeUnit<{
2928
+ scalar10: -3;
2929
+ }>;
2930
+ /**
2931
+ * @group Unit Classes
2932
+ * @category Mechanical
2933
+ */
2934
+ export type WorkUnitClass = EnergyUnitClass;
2935
+ /**
2936
+ * @group Abstract Units
2937
+ * @category Mechanical
2938
+ */
2939
+ export type Work = Energy;
2940
+ /**
2941
+ * @group Unit Generators
2942
+ * @category Mechanical
2943
+ */
2944
+ export type WorkUnit<M extends UnitSubvalues> = EnergyUnit<M>;
2945
+ /**
2946
+ * @group Unit Generators
2947
+ * @category Mechanical
2948
+ */
2949
+ export type WorkUnitFrom<M extends UnknownUnitMeta> = EnergyUnitFrom<M>;
2950
+ /**
2951
+ * A unit of {@link Work}.
2952
+ *
2953
+ * @group Units
2954
+ * @category Mechanical
2955
+ * @symbol `N⋅m`
2956
+ */
2957
+ export type NewtonMeter = Joule;
2958
+ /**
2959
+ * @group Unit Classes
2960
+ * @category Mechanical
2961
+ */
2962
+ export type YankUnitClass = BaseUnitClass<{
2963
+ Kilogram: 1;
2964
+ Meter: 1;
2965
+ Second: -3;
2966
+ }>;
2967
+ /**
2968
+ * @group Unit Classes
2969
+ * @category Mechanical
2970
+ */
2971
+ export type Yank = AbstractUnitFrom<YankUnitClass>;
2972
+ /**
2973
+ * @group Unit Classes
2974
+ * @category Mechanical
2975
+ */
2976
+ export type YankUnit<M extends UnitSubvalues> = YankUnitFrom<UnitMeta<M>>;
2977
+ /**
2978
+ * @group Unit Classes
2979
+ * @category Mechanical
2980
+ */
2981
+ export type YankUnitFrom<M extends UnknownUnitMeta> = UnitFrom<YankUnitClass, M>;
2982
+ /**
2983
+ * A unit of {@link Yank}.
2984
+ *
2985
+ * @group Units
2986
+ * @category Mechanical
2987
+ * @symbol `N/s`
2988
+ */
2989
+ export type NewtonPerSecond = YankUnit<{}>;
2990
+ /**
2991
+ * @group Unit Classes
2992
+ * @category Photometric
2993
+ */
2994
+ export type LuminanceUnitClass = BaseUnitClass<{
2995
+ Candela: 1;
2996
+ Meter: -2;
2997
+ }>;
2998
+ /**
2999
+ * @group Abstract Units
3000
+ * @category Photometric
3001
+ */
3002
+ export type Luminance = AbstractUnitFrom<LuminanceUnitClass>;
3003
+ /**
3004
+ * @group Unit Generators
3005
+ * @category Photometric
3006
+ */
3007
+ export type LuminanceUnit<M extends UnitSubvalues> = LuminanceUnitFrom<UnitMeta<M>>;
3008
+ /**
3009
+ * @group Unit Generators
3010
+ * @category Photometric
3011
+ */
3012
+ export type LuminanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LuminanceUnitClass, M>;
3013
+ /**
3014
+ * A unit of {@link Luminance}.
3015
+ *
3016
+ * @group Units
3017
+ * @category Derived
3018
+ * @category Photometric
3019
+ * @symbol `lx`
3020
+ */
3021
+ export type Lux = LuminanceUnit<{}>;
3022
+ /**
3023
+ * A unit of {@link Luminance}.
3024
+ *
3025
+ * @group Units
3026
+ * @category Photometric
3027
+ * @symbol `cd/m²`
3028
+ */
3029
+ export type CandelaPerSquareMeter = Lux;
3030
+ /**
3031
+ * @group Unit Classes
3032
+ * @category Photometric
3033
+ */
3034
+ export type LuminousEfficacyUnitClass = BaseUnitClass<{
3035
+ Candela: 1;
3036
+ Radian: 2;
3037
+ Kilogram: -1;
3038
+ Meter: -2;
3039
+ Second: 3;
3040
+ }>;
3041
+ /**
3042
+ * @group Abstract Units
3043
+ * @category Photometric
3044
+ */
3045
+ export type LuminousEfficacy = AbstractUnitFrom<LuminousEfficacyUnitClass>;
3046
+ /**
3047
+ * @group Unit Generators
3048
+ * @category Photometric
3049
+ */
3050
+ export type LuminousEfficacyUnit<M extends UnitSubvalues> = LuminousEfficacyUnitFrom<UnitMeta<M>>;
3051
+ /**
3052
+ * @group Unit Generators
3053
+ * @category Photometric
3054
+ */
3055
+ export type LuminousEfficacyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LuminousEfficacyUnitClass, M>;
3056
+ /**
3057
+ * A unit of {@link LuminousEfficacy}.
3058
+ *
3059
+ * @group Units
3060
+ * @category Photometric
3061
+ * @symbol `lm/W`
3062
+ */
3063
+ export type LumenPerWatt = LuminousEfficacyUnit<{}>;
3064
+ /**
3065
+ * @group Unit Classes
3066
+ * @category Photometric
3067
+ */
3068
+ export type LuminousEnergyUnitClass = BaseUnitClass<{
3069
+ Candela: 1;
3070
+ Radian: 2;
3071
+ Second: 1;
3072
+ }>;
3073
+ /**
3074
+ * @group Abstract Units
3075
+ * @category Photometric
3076
+ */
3077
+ export type LuminousEnergy = AbstractUnitFrom<LuminousEnergyUnitClass>;
3078
+ /**
3079
+ * @group Unit Generators
3080
+ * @category Photometric
3081
+ */
3082
+ export type LuminousEnergyUnit<M extends UnitSubvalues> = LuminousEnergyUnitFrom<UnitMeta<M>>;
3083
+ /**
3084
+ * @group Unit Generators
3085
+ * @category Photometric
3086
+ */
3087
+ export type LuminousEnergyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LuminousEnergyUnitClass, M>;
3088
+ /**
3089
+ * A unit of {@link LuminousEnergy}.
3090
+ *
3091
+ * @group Units
3092
+ * @category Photometric
3093
+ * @symbol `lm⋅s`
3094
+ */
3095
+ export type LumenSecond = LuminousEnergyUnit<{}>;
3096
+ /**
3097
+ * @group Unit Classes
3098
+ * @category Photometric
3099
+ */
3100
+ export type LuminousExposureUnitClass = BaseUnitClass<{
3101
+ Candela: 1;
3102
+ Meter: -2;
3103
+ Second: 1;
3104
+ }>;
3105
+ /**
3106
+ * @group Abstract Units
3107
+ * @category Photometric
3108
+ */
3109
+ export type LuminousExposure = AbstractUnitFrom<LuminousExposureUnitClass>;
3110
+ /**
3111
+ * @group Unit Generators
3112
+ * @category Photometric
3113
+ */
3114
+ export type LuminousExposureUnit<M extends UnitSubvalues> = LuminousExposureUnitFrom<UnitMeta<M>>;
3115
+ /**
3116
+ * @group Unit Generators
3117
+ * @category Photometric
3118
+ */
3119
+ export type LuminousExposureUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LuminousExposureUnitClass, M>;
3120
+ /**
3121
+ * A unit of {@link LuminousExposure}.
3122
+ *
3123
+ * @group Units
3124
+ * @category Photometric
3125
+ * @symbol `lx⋅s`
3126
+ */
3127
+ export type LuxSecond = LuminousExposureUnit<{}>;
3128
+ /**
3129
+ * @group Unit Classes
3130
+ * @category Photometric
3131
+ */
3132
+ export type LuminousFluxUnitClass = BaseUnitClass<{
3133
+ Candela: 1;
3134
+ Radian: 2;
3135
+ }>;
3136
+ /**
3137
+ * @group Abstract Units
3138
+ * @category Photometric
3139
+ */
3140
+ export type LuminousFlux = AbstractUnitFrom<LuminousFluxUnitClass>;
3141
+ /**
3142
+ * @group Unit Generators
3143
+ * @category Photometric
3144
+ */
3145
+ export type LuminousFluxUnit<M extends UnitSubvalues> = LuminousFluxUnitFrom<UnitMeta<M>>;
3146
+ /**
3147
+ * @group Unit Generators
3148
+ * @category Photometric
3149
+ */
3150
+ export type LuminousFluxUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LuminousFluxUnitClass, M>;
3151
+ /**
3152
+ * One Lumen is equal to the amount of light given out through a solid angle by a source of one
3153
+ * candela intensity radiating equally in all directions.
3154
+ *
3155
+ * @group Units
3156
+ * @category Derived
3157
+ * @symbol `lm`
3158
+ */
3159
+ export type Lumen = LuminousFluxUnit<{}>;
3160
+ /**
3161
+ * @group Unit Classes
3162
+ * @category Photometric
3163
+ */
3164
+ export type LuminousIntensityUnitClass = BaseUnitClass<{
3165
+ Candela: 1;
3166
+ }>;
3167
+ /**
3168
+ * @group Abstract Units
3169
+ * @category Photometric
3170
+ */
3171
+ export type LuminousIntensity = AbstractUnitFrom<LuminousIntensityUnitClass>;
3172
+ /**
3173
+ * @group Unit Generators
3174
+ * @category Photometric
3175
+ */
3176
+ export type LuminousIntensityUnit<M extends UnitSubvalues> = LuminousIntensityUnitFrom<UnitMeta<M>>;
3177
+ /**
3178
+ * @group Unit Generators
3179
+ * @category Photometric
3180
+ */
3181
+ export type LuminousIntensityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<LuminousIntensityUnitClass, M>;
3182
+ /**
3183
+ * A unit of luminous intensity.
3184
+ *
3185
+ * @group Units
3186
+ * @category Base
3187
+ * @symbol `cd`
3188
+ */
3189
+ export type Candela = LuminousIntensityUnit<{}>;
3190
+ /**
3191
+ * @group Unit Classes
3192
+ * @category Electromagnetic
3193
+ * @category Mechanical
3194
+ */
3195
+ export type PowerUnitClass = BaseUnitClass<{
3196
+ Kilogram: 1;
3197
+ Meter: 2;
3198
+ Second: -3;
3199
+ }>;
3200
+ /**
3201
+ * @group Abstract Units
3202
+ * @category Electromagnetic
3203
+ * @category Mechanical
3204
+ */
3205
+ export type Power = AbstractUnitFrom<PowerUnitClass>;
3206
+ /**
3207
+ * @group Unit Generators
3208
+ * @category Electromagnetic
3209
+ * @category Mechanical
3210
+ */
3211
+ export type PowerUnit<M extends UnitSubvalues> = PowerUnitFrom<UnitMeta<M>>;
3212
+ /**
3213
+ * @group Unit Generators
3214
+ * @category Electromagnetic
3215
+ * @category Mechanical
3216
+ */
3217
+ export type PowerUnitFrom<M extends UnknownUnitMeta> = UnitFrom<PowerUnitClass, M>;
3218
+ /**
3219
+ * A unit of {@link Power}.
3220
+ *
3221
+ * @group Units
3222
+ * @category Derived
3223
+ * @category Electromagnetic
3224
+ * @category Mechanical
3225
+ * @symbol `W`
3226
+ */
3227
+ export type Watt = PowerUnit<{}>;
3228
+ /**
3229
+ * @group Unit Classes
3230
+ * @category Thermodynamic
3231
+ */
3232
+ export type EntropyUnitClass = BaseUnitClass<{
3233
+ Kilogram: 1;
3234
+ Meter: 2;
3235
+ Second: -2;
3236
+ Kelvin: -1;
3237
+ }>;
3238
+ /**
3239
+ * @group Abstract Units
3240
+ * @category Thermodynamic
3241
+ */
3242
+ export type Entropy = AbstractUnitFrom<EntropyUnitClass>;
3243
+ /**
3244
+ * @group Unit Generators
3245
+ * @category Thermodynamic
3246
+ */
3247
+ export type EntropyUnit<M extends UnitSubvalues> = EntropyUnitFrom<UnitMeta<M>>;
3248
+ /**
3249
+ * @group Unit Generators
3250
+ * @category Thermodynamic
3251
+ */
3252
+ export type EntropyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<EntropyUnitClass, M>;
3253
+ /**
3254
+ * A unit of {@link Entropy}.
3255
+ *
3256
+ * @group Units
3257
+ * @category Thermodynamic
3258
+ * @symbol `J/K`
3259
+ */
3260
+ export type JoulePerKelvin = EntropyUnit<{}>;
3261
+ /**
3262
+ * @group Unit Classes
3263
+ * @category Thermodynamic
3264
+ */
3265
+ export type SpecificEntropyUnitClass = BaseUnitClass<{
3266
+ Meter: 2;
3267
+ Second: -2;
3268
+ Kelvin: -1;
3269
+ }>;
3270
+ /**
3271
+ * @group Abstract Units
3272
+ * @category Thermodynamic
3273
+ */
3274
+ export type SpecificEntropy = AbstractUnitFrom<SpecificEntropyUnitClass>;
3275
+ /**
3276
+ * @group Unit Generators
3277
+ * @category Thermodynamic
3278
+ */
3279
+ export type SpecificEntropyUnit<M extends UnitSubvalues> = SpecificEntropyUnitFrom<UnitMeta<M>>;
3280
+ /**
3281
+ * @group Unit Generators
3282
+ * @category Thermodynamic
3283
+ */
3284
+ export type SpecificEntropyUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpecificEntropyUnitClass, M>;
3285
+ /**
3286
+ * A unit of {@link SpecificEntropy}.
3287
+ *
3288
+ * @group Units
3289
+ * @category Thermodynamic
3290
+ * @symbol `J/(K⋅kg)`
3291
+ */
3292
+ export type JoulePerKilogramKelvin = SpecificEntropyUnit<{}>;
3293
+ /**
3294
+ * @group Unit Classes
3295
+ * @category Thermodynamic
3296
+ */
3297
+ export type SpecificVolumeUnitClass = BaseUnitClass<{
3298
+ Kilogram: -1;
3299
+ Meter: 3;
3300
+ }>;
3301
+ /**
3302
+ * @group Abstract Units
3303
+ * @category Thermodynamic
3304
+ */
3305
+ export type SpecificVolume = AbstractUnitFrom<SpecificVolumeUnitClass>;
3306
+ /**
3307
+ * @group Unit Generators
3308
+ * @category Thermodynamic
3309
+ */
3310
+ export type SpecificVolumeUnit<M extends UnitSubvalues> = SpecificVolumeUnitFrom<UnitMeta<M>>;
3311
+ /**
3312
+ * @group Unit Generators
3313
+ * @category Thermodynamic
3314
+ */
3315
+ export type SpecificVolumeUnitFrom<M extends UnknownUnitMeta> = UnitFrom<SpecificVolumeUnitClass, M>;
3316
+ /**
3317
+ * A unit of {@link SpecificVolume}.
3318
+ *
3319
+ * @group Units
3320
+ * @category Mechanical
3321
+ * @symbol `m³/kg`
3322
+ */
3323
+ export type CubicMeterPerKilogram = SpecificVolumeUnit<{}>;
3324
+ /**
3325
+ * @group Unit Classes
3326
+ * @category Thermodynamic
3327
+ */
3328
+ export type TemperatureGradientUnitClass = BaseUnitClass<{
3329
+ Kelvin: 1;
3330
+ Meter: -1;
3331
+ }>;
3332
+ /**
3333
+ * @group Abstract Units
3334
+ * @category Thermodynamic
3335
+ */
3336
+ export type TemperatureGradient = AbstractUnitFrom<TemperatureGradientUnitClass>;
3337
+ /**
3338
+ * @group Unit Generators
3339
+ * @category Thermodynamic
3340
+ */
3341
+ export type TemperatureGradientUnit<M extends UnitSubvalues> = TemperatureGradientUnitFrom<UnitMeta<M>>;
3342
+ /**
3343
+ * @group Unit Generators
3344
+ * @category Thermodynamic
3345
+ */
3346
+ export type TemperatureGradientUnitFrom<M extends UnknownUnitMeta> = UnitFrom<TemperatureGradientUnitClass, M>;
3347
+ /**
3348
+ * A unit of {@link TemperatureGradient}.
3349
+ *
3350
+ * @group Units
3351
+ * @category Thermodynamic
3352
+ * @symbol `K/m`
3353
+ */
3354
+ export type KelvinPerMeter = TemperatureGradientUnit<{}>;
3355
+ /**
3356
+ * @group Unit Classes
3357
+ * @category Thermodynamic
3358
+ */
3359
+ export type TemperatureUnitClass = BaseUnitClass<{
3360
+ Kelvin: 1;
3361
+ }>;
3362
+ /**
3363
+ * @group Abstract Units
3364
+ * @category Thermodynamic
3365
+ */
3366
+ export type Temperature = AbstractUnitFrom<TemperatureUnitClass>;
3367
+ /**
3368
+ * @group Unit Generators
3369
+ * @category Thermodynamic
3370
+ */
3371
+ export type TemperatureUnit<M extends UnitSubvalues> = TemperatureUnitFrom<UnitMeta<M>>;
3372
+ /**
3373
+ * @group Unit Generators
3374
+ * @category Thermodynamic
3375
+ */
3376
+ export type TemperatureUnitFrom<M extends UnknownUnitMeta> = UnitFrom<TemperatureUnitClass, M>;
3377
+ /**
3378
+ * A unit of {@link Temperature}.
3379
+ *
3380
+ * @group Units
3381
+ * @category Base
3382
+ * @category Thermodynamic
3383
+ * @symbol `K`
3384
+ */
3385
+ export type Kelvin = TemperatureUnit<{}>;
3386
+ /**
3387
+ * A unit of {@link Temperature}.
3388
+ *
3389
+ * This is a unit of temperature such as the freezing point of water (at one atmosphere of pressure)
3390
+ * is 0 ℃, while the boiling point is 100 ℃.
3391
+ *
3392
+ * @group Units
3393
+ * @category Thermodynamic
3394
+ * @symbol `℃`
3395
+ */
3396
+ export type Celsius = TemperatureUnit<{
3397
+ "offset273.15": 1;
3398
+ }>;
3399
+ /**
3400
+ * @group Unit Classes
3401
+ * @category Thermodynamic
3402
+ */
3403
+ export type ThermalConductivityUnitClass = BaseUnitClass<{
3404
+ Kilogram: 1;
3405
+ Meter: 1;
3406
+ Second: -3;
3407
+ Kelvin: -1;
3408
+ }>;
3409
+ /**
3410
+ * @group Abstract Units
3411
+ * @category Thermodynamic
3412
+ */
3413
+ export type ThermalConductivity = AbstractUnitFrom<ThermalConductivityUnitClass>;
3414
+ /**
3415
+ * @group Unit Generators
3416
+ * @category Thermodynamic
3417
+ */
3418
+ export type ThermalConductivityUnit<M extends UnitSubvalues> = ThermalConductivityUnitFrom<UnitMeta<M>>;
3419
+ /**
3420
+ * @group Unit Generators
3421
+ * @category Thermodynamic
3422
+ */
3423
+ export type ThermalConductivityUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ThermalConductivityUnitClass, M>;
3424
+ /**
3425
+ * A unit of {@link ThermalConductivity}.
3426
+ *
3427
+ * @group Units
3428
+ * @category Thermodynamic
3429
+ * @symbol `W/(m⋅K)`
3430
+ */
3431
+ export type WattPerMeterKelvin = ThermalConductivityUnit<{}>;
3432
+ /**
3433
+ * @group Unit Classes
3434
+ * @category Thermodynamic
3435
+ */
3436
+ export type ThermalExpansionCoefficientUnitClass = Reciprocal<TemperatureUnitClass>;
3437
+ /**
3438
+ * @group Abstract Units
3439
+ * @category Thermodynamic
3440
+ */
3441
+ export type ThermalExpansionCoefficient = Reciprocal<Temperature>;
3442
+ /**
3443
+ * @group Unit Generators
3444
+ * @category Thermodynamic
3445
+ */
3446
+ export type ThermalExpansionCoefficientUnit<M extends UnitSubvalues> = ThermalExpansionCoefficientUnitFrom<UnitMeta<M>>;
3447
+ /**
3448
+ * @group Unit Generators
3449
+ * @category Thermodynamic
3450
+ */
3451
+ export type ThermalExpansionCoefficientUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ThermalExpansionCoefficientUnitClass, M>;
3452
+ /**
3453
+ * @group Unit Classes
3454
+ * @category Thermodynamic
3455
+ */
3456
+ export type ThermalResistanceUnitClass = BaseUnitClass<{
3457
+ Kilogram: -1;
3458
+ Meter: -2;
3459
+ Second: 3;
3460
+ Kelvin: 1;
3461
+ }>;
3462
+ /**
3463
+ * @group Abstract Units
3464
+ * @category Thermodynamic
3465
+ */
3466
+ export type ThermalResistance = AbstractUnitFrom<ThermalResistanceUnitClass>;
3467
+ /**
3468
+ * @group Unit Generators
3469
+ * @category Thermodynamic
3470
+ */
3471
+ export type ThermalResistanceUnit<M extends UnitSubvalues> = ThermalResistanceUnitFrom<UnitMeta<M>>;
3472
+ /**
3473
+ * @group Unit Generators
3474
+ * @category Thermodynamic
3475
+ */
3476
+ export type ThermalResistanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ThermalResistanceUnitClass, M>;
3477
+ /**
3478
+ * A unit of {@link ThermalResistance}.
3479
+ *
3480
+ * @group Units
3481
+ * @category Thermodynamic
3482
+ * @symbol `K/W`
3483
+ */
3484
+ export type KelvinPerWatt = ThermalResistanceUnit<{}>;
3485
+ /**
3486
+ * @group Unit Classes
3487
+ * @category Thermodynamic
3488
+ */
3489
+ export type ThermalTransmittanceUnitClass = BaseUnitClass<{
3490
+ Kilogram: 1;
3491
+ Second: -3;
3492
+ Kelvin: -1;
3493
+ }>;
3494
+ /**
3495
+ * @group Abstract Units
3496
+ * @category Thermodynamic
3497
+ */
3498
+ export type ThermalTransmittance = AbstractUnitFrom<ThermalTransmittanceUnitClass>;
3499
+ /**
3500
+ * @group Unit Generators
3501
+ * @category Thermodynamic
3502
+ */
3503
+ export type ThermalTransmittanceUnit<M extends UnitSubvalues> = ThermalTransmittanceUnitFrom<UnitMeta<M>>;
3504
+ /**
3505
+ * @group Unit Generators
3506
+ * @category Thermodynamic
3507
+ */
3508
+ export type ThermalTransmittanceUnitFrom<M extends UnknownUnitMeta> = UnitFrom<ThermalTransmittanceUnitClass, M>;
3509
+ /**
3510
+ * A unit of {@link ThermalTransmittance}.
3511
+ *
3512
+ * @group Units
3513
+ * @category Thermodynamic
3514
+ */
3515
+ export type WattPerSquareMeterPerKelvin = ThermalTransmittanceUnit<{}>;
3516
+ /**
3517
+ * @group Unit Classes
3518
+ * @category Time
3519
+ */
3520
+ export type DurationUnitClass = BaseUnitClass<{
3521
+ Second: 1;
3522
+ }>;
3523
+ /**
3524
+ * @group Abstract Units
3525
+ * @category Time
3526
+ */
3527
+ export type Duration = AbstractUnitFrom<DurationUnitClass>;
3528
+ /**
3529
+ * @group Unit Generators
3530
+ * @category Time
3531
+ */
3532
+ export type DurationUnit<M extends UnitSubvalues> = DurationUnitFrom<UnitMeta<M>>;
3533
+ /**
3534
+ * @group Unit Generators
3535
+ * @category Time
3536
+ */
3537
+ export type DurationUnitFrom<M extends UnknownUnitMeta> = UnitFrom<DurationUnitClass, M>;
3538
+ /**
3539
+ * A unit of {@link Duration}.
3540
+ *
3541
+ * @group Units
3542
+ * @category Base
3543
+ * @category Time
3544
+ * @symbol `s`
3545
+ */
3546
+ export type Second = DurationUnit<{}>;
3547
+ /**
3548
+ * A unit of {@link Duration}.
3549
+ *
3550
+ * @group Units
3551
+ * @category Time
3552
+ * @symbol `min`
3553
+ */
3554
+ export type Minute = DurationUnit<{
3555
+ scalar60: 1;
3556
+ }>;
3557
+ /**
3558
+ * A unit of {@link Duration}.
3559
+ *
3560
+ * @group Units
3561
+ * @category Time
3562
+ * @symbol `hr`
3563
+ */
3564
+ export type Hour = DurationUnit<{
3565
+ scalar60: 2;
3566
+ }>;
3567
+ /**
3568
+ * A unit of {@link Duration}.
3569
+ *
3570
+ * @group Units
3571
+ * @category Time
3572
+ * @symbol `day`
3573
+ */
3574
+ export type Day = DurationUnit<{
3575
+ scalar60: 2;
3576
+ scalar24: 1;
3577
+ }>;
3578
+ /**
3579
+ * A unit of {@link Duration}.
3580
+ *
3581
+ * @group Units
3582
+ * @category Time
3583
+ * @symbol `wk`
3584
+ */
3585
+ export type Week = DurationUnit<{
3586
+ scalar60: 2;
3587
+ scalar24: 1;
3588
+ scalar7: 1;
3589
+ }>;
3590
+ /**
3591
+ * A unit of {@link Duration}.
3592
+ *
3593
+ * @group Units
3594
+ * @category Time
3595
+ * @symbol `yr`
3596
+ */
3597
+ export type Year = DurationUnit<{
3598
+ scalar60: 2;
3599
+ scalar24: 1;
3600
+ scalarDayInYear: 1;
3601
+ }>;
3602
+
3603
+ export {};