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

export interface GeotriggerProperties extends JSONSupportMixinProperties, ClonableMixinProperties {}

/**
 * A Geotrigger is a condition that will be monitored against dynamic GIS data - for example using a spatial operation to check for enter/exit. The only permissible type is a Fence Geotrigger.
 *
 * @since 4.24
 */
export default class Geotrigger extends GeotriggerSuperclass {
  constructor(properties?: GeotriggerProperties);
  /** String indicating the Geotrigger condition type. */
  readonly type: "fence";
}
declare const GeotriggerSuperclass: typeof JSONSupport & typeof ClonableMixin