/**
 * Draw utils for Components.
 *
 * @experimental
 * @internal
 */
import type Extent from "../../geometry/Extent.js";
import type Multipoint from "../../geometry/Multipoint.js";
import type Point from "../../geometry/Point.js";
import type Polygon from "../../geometry/Polygon.js";
import type Polyline from "../../geometry/Polyline.js";

/**
 * @experimental
 * @internal
 */
export type MoveGeometries = Extent | Multipoint | Point | Polygon | Polyline;

/**
 * performs translation of given geometry
 * dx, dy: how much to translate the geometry in x and y direction. Given in
 * screen space.
 *
 * @param geometry
 * @param dx
 * @param dy
 * @param dz
 * @experimental
 * @internal
 */
export function move(geometry: MoveGeometries, dx: number, dy: number, dz?: number): MoveGeometries;