import type { Clonable, ClonableMixinProperties } from "../../../core/Clonable.js";

export interface AltitudeConstraintProperties extends ClonableMixinProperties, Partial<Pick<AltitudeConstraint, "max" | "min">> {}

export default abstract class AltitudeConstraint extends Clonable {
  /**
   * The maximum allowed camera altitude (in meters). Default is 4 times
   *   planet radius.
   */
  accessor max: number;
  /**
   * The minimum allowed camera altitude (in meters).
   *
   * @default -200_000
   */
  accessor min: number;
}