export class EdgeCollapseCandidate {
    /**
     *
     * @type {TopoEdge|null}
     */
    edge: TopoEdge | null;
    /**
     *
     * @type {TopoVertex|null}
     */
    victim_vertex: TopoVertex | null;
    /**
     *
     * @type {TopoVertex|null}
     */
    target_vertex: TopoVertex | null;
    /**
     *
     * @type {number}
     */
    cost: number;
    /**
     * Debug value, used to track how many times the edge was updated
     * @type {number}
     */
    version: number;
    /**
     * Collapsed victim point belonged to the border
     * @type {boolean}
     * @private
     */
    private __border_collapse;
    /**
     *
     * @returns {boolean}
     */
    isBorderCollapse(): boolean;
    validate(): boolean;
    /**
     *
     * @param {TopoMesh} mesh
     * @param {Map<number, Quadratic3>} vertex_quadratics
     */
    collapse(mesh: TopoMesh, vertex_quadratics: Map<number, Quadratic3>): void;
    /**
     * Compute cost of collapse as well as which vertex should be the victim
     * @param {Map<number, Quadratic3>} vertex_quadratics
     * @param {Set<number>} restricted_vertices
     * @returns {boolean}
     */
    update(vertex_quadratics: Map<number, Quadratic3>, restricted_vertices: Set<number>): boolean;
}
//# sourceMappingURL=EdgeCollapseCandidate.d.ts.map