type Family = string; type Range = { min: number; max: number; }; type NumberOrRange = number | Range; type Axis = { tag: "BNCE"; value: NumberOrRange; } | { tag: "CASL"; value: NumberOrRange; } | { tag: "CRSV"; value: 0 | 0.5 | 1; } | { tag: "EDPT"; value: NumberOrRange; } | { tag: "EHLT"; value: NumberOrRange; } | { tag: "ELGR"; value: NumberOrRange; } | { tag: "ELSH"; value: NumberOrRange; } | { tag: "FILL"; value: NumberOrRange; } | { tag: "FLAR"; value: NumberOrRange; } | { tag: "GRAD"; value: NumberOrRange; } | { tag: "HEXP"; value: NumberOrRange; } | { tag: "INFM"; value: NumberOrRange; } | { tag: "ital"; value: 0 | 1; } | { tag: "MONO"; value: NumberOrRange; } | { tag: "MUTA"; value: NumberOrRange; } | { tag: "opsz"; value: NumberOrRange; } | { tag: "ROND"; value: NumberOrRange; } | { tag: "slnt"; value: NumberOrRange; } | { tag: "SOFT"; value: NumberOrRange; } | { tag: "SPAC"; value: NumberOrRange; } | { tag: "wdth"; value: NumberOrRange; } | { tag: "wght"; value: NumberOrRange; } | { tag: "WONK"; value: 0 | 1; } | { tag: "XOPQ"; value: NumberOrRange; } | { tag: "XROT"; value: NumberOrRange; } | { tag: "XTRA"; value: NumberOrRange; } | { tag: "YEAR"; value: NumberOrRange; } | { tag: "YOPQ"; value: NumberOrRange; } | { tag: "YROT"; value: NumberOrRange; } | { tag: "YTAS"; value: NumberOrRange; } | { tag: "YTDE"; value: NumberOrRange; } | { tag: "YTFI"; value: NumberOrRange; } | { tag: "YTLC"; value: NumberOrRange; } | { tag: "YTUC"; value: NumberOrRange; }; type AxisTuple = Axis[]; type Font = { family: Family; axisTupleList?: AxisTuple[]; }; type Options = { text?: string; display?: "auto" | "block" | "swap" | "fallback" | "optional"; }; declare function load(font: Font, options?: Options): void; declare function loadAwait(font: Font, options?: Options): Promise; declare function unload(font: Font): void; declare function unloadAll(): void; declare function list(): Font[]; export { Family, Font, Options, list, load, loadAwait, unload, unloadAll };