import { Mesh } from "../form/Mesh";
import { IndexMap } from "../core/IndexMap";
import { type Triangle, type Point } from "../primitive";
export interface CleanedMeshResult {
    mesh: Mesh;
    faceMap: IndexMap;
    pointMap: IndexMap;
}
export interface CleanedPointsResult {
    points: Point;
    pointMap: IndexMap;
}
/** Clean a triangle soup (batch) into an indexed Mesh. */
export declare function cleaned(input: Triangle, tolerance?: number): Mesh;
/** Clean a mesh by removing duplicate/degenerate vertices and faces. */
export declare function cleaned(input: Mesh, tolerance?: number): Mesh;
/** Clean a mesh and return index maps. */
export declare function cleaned(input: Mesh, opts: {
    returnIndexMap: true;
    tolerance?: number;
}): CleanedMeshResult;
/** Clean a point batch by removing duplicate points. */
export declare function cleaned(input: Point, tolerance?: number): Point;
/** Clean a point batch and return an index map. */
export declare function cleaned(input: Point, opts: {
    returnIndexMap: true;
    tolerance?: number;
}): CleanedPointsResult;
//# sourceMappingURL=sync.d.ts.map