/**
 *
 * @param {EdgeCollapseCandidate} edge
 */
export function extract_edge_cost(edge: EdgeCollapseCandidate): number;
/**
 * @param {number} number_faces_to_remove minimum number of faces to removed
 * @param {BinaryHeap<EdgeCollapseCandidate>} heap
 * @param {TopoMesh} mesh
 * @param {Map<TopoEdge, EdgeCollapseCandidate>} edge_to_collapse_map
 * @param {Map<number, Quadric3>} vertex_quadratics
 * @param {Set<number>} restricted_vertices
 */
export function collapse_edges(number_faces_to_remove: number, heap: BinaryHeap<EdgeCollapseCandidate>, mesh: TopoMesh, edge_to_collapse_map: Map<TopoEdge, EdgeCollapseCandidate>, vertex_quadratics: Map<number, Quadric3>, restricted_vertices: Set<number>): void;
/**
 * Simplifies a given topology mesh by reducing number of faces. Preserves original vertices
 * NOTE: preserves outline of the mesh, that is the open edge
 * NOTE: assumes that face normals are set
 * @param {TopoMesh} mesh
 * @param {number} num_faces_to_remove desired number of faces to remove
 * @param {Set<number>} [restricted_vertices] vertices that are not allowed to be removed
 */
export function simplifyTopoMesh(mesh: TopoMesh, num_faces_to_remove: number, restricted_vertices?: Set<number>): void;
import { EdgeCollapseCandidate } from "./EdgeCollapseCandidate.js";
import BinaryHeap from "../../../../collection/heap/BinaryHeap.js";
//# sourceMappingURL=simplifyTopoMesh.d.ts.map