/**
 * Mesh utilities for the Urban application.
 *
 * @experimental
 * @internal
 */
import type Mesh from "../../geometry/Mesh.js";
import type { AbortOptions } from "../../core/promiseUtils.js";
import type { MeshVertexSpaceUnion } from "../../geometry/types.js";

/**
 * Converts a mesh to a new vertex space. Any [transform](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-support-MeshTransform.html) defined on
 * the mesh will be applied to the vertex attributes as part of the conversion.
 *
 * @param mesh - the mesh geometry to convert.
 * @param targetVertexSpace - the vertex space to convert to.
 * @param options - Additional options.
 * @returns The converted mesh.
 * @experimental
 * @internal
 */
export function convertVertexSpaceEllipsoid(mesh: Mesh, targetVertexSpace: MeshVertexSpaceUnion, options?: AbortOptions): Promise<Mesh>;