/** * What a catalogued object is: `PAY` a payload (a satellite or probe), `RB` a rocket body, `DEB` debris, `UNK` unknown. * * @example * ```ts * import type { ObjectKind } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * const kind: ObjectKind = "RB"; * console.log(kind); * ``` */ export type ObjectKind = "PAY" | "RB" | "DEB" | "UNK"; /** * The four kinds, in the order a legend lists them. * * @example * ```ts * import { OBJECT_KINDS } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(OBJECT_KINDS.join(" ")); * ``` */ export declare const OBJECT_KINDS: readonly ObjectKind[]; /** * The kind a source's object type means: Space-Track says `PAYLOAD`, `ROCKET BODY`, `DEBRIS` or `TBA`, other lists say `PAY`, `R/B`, `DEB` or `UNK`; any other word, or none, is `UNK`. * * @param value - The source's object type, in any case. * @returns The kind. * * @example * ```ts * import { readKind } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(readKind("PAYLOAD"), readKind("R/B"), readKind("debris"), readKind("TBA"), readKind(undefined)); * ``` */ export declare function readKind(value: string | null | undefined): ObjectKind; /** * The words for each kind, in English and Japanese. * * @example * ```ts * import { KIND_LABELS } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(KIND_LABELS.DEB.en, KIND_LABELS.DEB.ja); * ``` */ export declare const KIND_LABELS: Readonly>; /** * The class of an orbit: low (`leo`), medium (`meo`), geostationary (`geo`), highly elliptical (`heo`), or `other` for what fits none of them. * * @example * ```ts * import type { OrbitClass } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * const value: OrbitClass = "geo"; * console.log(value); * ``` */ export type OrbitClass = "leo" | "meo" | "geo" | "heo" | "other"; /** * The five classes, in the order a legend lists them. * * @example * ```ts * import { ORBIT_CLASSES } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(ORBIT_CLASSES.join(" ")); * ``` */ export declare const ORBIT_CLASSES: readonly OrbitClass[]; /** * The words for each class, in English and Japanese, with the rule that makes it (heights above the mean Earth radius). * * @example * ```ts * import { CLASS_LABELS } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(CLASS_LABELS.leo.en, "|", CLASS_LABELS.leo.rule); * ``` */ export declare const CLASS_LABELS: Readonly>; /** * The colour of each class on a dark background: green, yellow, red, violet and grey. * * @example * ```ts * import { CLASS_COLOURS } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(CLASS_COLOURS.geo); * ``` */ export declare const CLASS_COLOURS: Readonly>; /** * The colour of each kind on a dark background: cyan payloads, orange rocket bodies, grey debris and pale unknowns. * * @example * ```ts * import { KIND_COLOURS } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(KIND_COLOURS.RB); * ``` */ export declare const KIND_COLOURS: Readonly>; /** * One line of a legend: what it is called, in the page's language, and its colour. * * @example * ```ts * import type { LegendEntry } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * const entry: LegendEntry = { key: "leo", label: "Low orbit", colour: "#5dd6a2" }; * console.log(entry.label); * ``` */ export interface LegendEntry { key: string; label: string; colour: string; } /** * The legend for colouring by class or by kind, in the page's language. * * @param by - `class` or `kind`. * @param lang - `en` or `ja`. * @returns One entry for each class or kind, in the legend's order. * * @example * ```ts * import { legend } from "@johnmorrisdotca/chikyu-earth/catalogue"; * * console.log(legend("class", "en").map((one) => `${one.label} ${one.colour}`).join(", ")); * console.log(legend("kind", "ja")[2]?.label); * ``` */ export declare function legend(by: "class" | "kind", lang: "en" | "ja"): LegendEntry[];