import type { JSONSupport, JSONSupportMixinProperties } from "../core/JSONSupport.js";

export interface NavigationConstraintProperties extends JSONSupportMixinProperties, Partial<Pick<NavigationConstraint, "type">> {}

export default abstract class NavigationConstraint extends JSONSupport {
  /**
   * The type of the constraint. It can be one of the following:
   *
   * Value      | Description
   * -----------|--------------------
   * stay-above | User can only navigate above ground surface
   * none       | User can navigate above and below the ground surface
   *
   * Default value: stay-above
   *
   * @default "none"
   */
  accessor type: "none" | "stay-above";
}