type FrequencySymbol = typeof frequencySymbols[number]; /** * Type predicate. * @param candidate The candidate to test. */ declare function isFrequencySymbol(candidate: any): candidate is FrequencySymbol; /** * All the Frequency symbols. */ declare const frequencySymbols: readonly ["THz", "GHz", "MHz", "kHz", "Hz", "mHz", "µHz", "nHz"]; /** * The object representation of a measurement. * * @template Unit The type of the unit of measurement. * @template Value The type of the value of the measurement. */ type Measurement$1 = Number & { readonly value: Value; readonly unit: Unit; }; /** * Represents a dimension measurement. * @template Units - The units of the dimension. */ type Measurement = Measurement$1 & Alternatives; /** * Represents a collection of alternative measurements for different units. * * @template Units - The string literal type representing the available units. */ type Alternatives = { readonly [unit in Units]: Measurement; }; /** * A dimension is a map of units to creation functions. * Each function takes a number value and returns a * dimension measurement. * @template Units - The units of the dimension. */ type Dimension = { readonly [unit in Units]: (value: number) => Measurement; }; type Frequency = Measurement; declare const frequency: Dimension<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const terahertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const gigahertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const megahertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const kilohertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const hertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const millihertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const microhertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; declare const nanohertz: (value: number) => Measurement<"THz" | "GHz" | "MHz" | "kHz" | "Hz" | "mHz" | "µHz" | "nHz">; export { frequency, frequencySymbols, gigahertz, hertz, isFrequencySymbol, kilohertz, megahertz, microhertz, millihertz, nanohertz, terahertz }; export type { Frequency, FrequencySymbol };