import { type NDArrayInt32 } from "../ndarray/NDArray";
import { OffsetBlockedBuffer } from "../ndarray/OffsetBlockedBuffer";
import { Mesh } from "../form/Mesh";
import type { ConnectedComponentsResult, ComponentType } from "./sync";
export declare function isClosed(m: Mesh): Promise<boolean>;
export declare function isOpen(m: Mesh): Promise<boolean>;
export declare function isManifold(m: Mesh): Promise<boolean>;
export declare function isNonManifold(m: Mesh): Promise<boolean>;
export declare function eulerCharacteristic(m: Mesh): Promise<number>;
export declare function boundaryEdges(m: Mesh): Promise<NDArrayInt32>;
export declare function nonManifoldEdges(m: Mesh): Promise<NDArrayInt32>;
export declare function boundaryPaths(m: Mesh): Promise<OffsetBlockedBuffer>;
export declare function kRings(m: Mesh, k: number, inclusive?: boolean): Promise<OffsetBlockedBuffer>;
export declare function neighborhoods(m: Mesh, radius: number, inclusive?: boolean): Promise<OffsetBlockedBuffer>;
export declare function connectEdgesToPaths(edges: NDArrayInt32): Promise<OffsetBlockedBuffer>;
export declare function labelConnectedComponents(connectivity: OffsetBlockedBuffer): Promise<ConnectedComponentsResult>;
export declare function labelConnectedComponents(connectivity: NDArrayInt32): Promise<ConnectedComponentsResult>;
export declare function connectedComponents(m: Mesh, type: ComponentType): Promise<ConnectedComponentsResult>;
export declare function consistentlyOriented(m: Mesh): Promise<Mesh>;
//# sourceMappingURL=async.d.ts.map