/**
 * Performs an OGC locate between operation on M values for the given 2D geometries.
 * Calculates the geometry between given M values.
 * This can also be used for locate along operations, which is a variation of locate between when the start and end M values are equal.
 * This is a linear referencing operation. Polygons and extents are not supported.
 *
 * ![Locate between operator](https://developers.arcgis.com/javascript/latest/assets/references/core/operators/locateBetween.png "Locate between operator")
 *
 * @since 4.31
 */
import type { GeometryUnion, GeometryWithoutMeshUnion } from "../types.js";

/**
 * Performs the locate between or locate along operation on the geometry.
 * For locate along, the start and end M values are equal.
 *
 * @param geometries - The set of input geometries.
 * All the geometries must have the same spatial reference.
 * @param startM - The M value to start the operation.
 * @param endM - The M value to end the operation.
 * @returns Returns the result of geometries.
 * For 1-dimensional geometries, the result could be either point, multipoint, or polyline.
 * For polylines, the result can be both polyline and multipoint.
 * @example
 * // Perform the locate between operation
 * const geometries = locateBetweenOperator.executeMany([polyline1, polyline2], 100, 200);
 */
export function executeMany(geometries: GeometryUnion[], startM: number, endM: number): (GeometryWithoutMeshUnion | null | undefined)[];

/**
 * Indicates if the operator supports input geometries that contain curves.
 * The value will always be `true`.
 */
export const supportsCurves: boolean;