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

export interface PathSnappingPropertiesProperties extends JSONSupportMixinProperties, ClonableMixinProperties, Partial<Pick<PathSnappingProperties, "distance" | "enabled" | "units">> {}

/**
 * Defines the Path Snapping properties of Indoor Positioning Configuration.
 *
 * @since 4.33
 */
export default class PathSnappingProperties extends PathSnappingPropertiesSuperclass {
  constructor(properties?: PathSnappingPropertiesProperties);
  /**
   * Property indicating the distance set for path snapping.
   *
   * @default 5
   */
  accessor distance: number;
  /**
   * Property indicating whether path snapping is enabled or not.
   *
   * @default true
   */
  accessor enabled: boolean;
  /**
   * Property indicating the unit set for path snapping distance.
   *
   * @default "meter"
   */
  accessor units: "feet" | "meter";
}
declare const PathSnappingPropertiesSuperclass: typeof JSONSupport & typeof ClonableMixin