/** * Performs a relational operation to determine if one 2D geometry contains another 2D geometry. * Geometry A contains geometry B, when B is the intersection of A and B. * A contains B is equivalent to B within A. Geometry B can be non-simple geometry. * * ![Contains operator](https://developers.arcgis.com/javascript/latest/assets/references/core/operators/contains.png "Contains operator") * * @since 4.31 */ import type { GeometryUnion } from "../types.js"; /** * Accelerate a geometry. This method prepares the geometry for faster contains operations when the same geometry is tested multiple times (e.g. in a loop with hundreds of iterations). See the [Acceleration](https://developers.arcgis.com/javascript/latest/spatial-analysis/intro-geometry-operators/#acceleration) guide topic for more information. * * @param geometry - The geometry to accelerate. * @returns Returns `true` if the geometry was successfully accelerated. */ export function accelerateGeometry(geometry: GeometryUnion): boolean; /** * Perform the contains operation on two geometries. * * @param geometry1 - The geometry that is tested for the "contains" relationship to `geometry2`. * @param geometry2 - The geometry that is tested for the "within" relationship to `geometry1`. * @returns Returns `true` if `geometry1` contains `geometry2`. * @example * // Returns true if one geometry contains another * const isContained = containsOperator.execute(polygon1, polygon2); */ export function execute(geometry1: GeometryUnion, geometry2: GeometryUnion): boolean; /** * Indicates if the operator supports input geometries that contain curves. * The value will always be `true`. */ export const supportsCurves: boolean;