```ts
/**
 * The temperature in degrees Fahrenheit or Kelvin.
 *
 * @param {number} celsius - The temperature in Celsius.
 * @returns {number} The temperature in Fahrenheit or Kelvin.
 */
export function celsiusToFahrenheit(celsius: number): number {
  validateCelsius(celsius);
  return celsius * 1.8 + 32;
}

/**
 * The temperature in kelvin.
 *
 * @param {number} celsius - The temperature in Celsius.
 * @returns {number} The temperature in Kelvin.
 */
export function celsiusToKelvin(celsius: number): number {
  validateCelsius(celsius);
  return celsius + 273.15;
}

/**
 * Validates that the given value is a finite number and greater than or equal to absolute zero.
 *
 * @param {number} celsius - The value to validate.
 */
function validateCelsius(celsius: number): void {
  if (typeof celsius !== "number" || !Number.isFinite(celsius)) {
    throw new Error("celsius must be a finite number");
  }
  if (celsius < -273.15) {
    throw new Error("celsius must be at or above absolute zero");
  }
}
```