import { Position } from './Position';
import { Centroid } from './Centroid';
import { HalfEdge } from './HalfEdge';
import { Mesh } from '../../pwfreader/PWFTypes';
export declare class MeshTopologyError extends Error {
    constructor(message: string);
}
export declare class MeshTopology {
    private positions;
    private edges;
    private faces;
    private facesTree;
    private orphansByOrg;
    private orphansByDest;
    constructor(meshes: Mesh[]);
    forEachHalfEdge(callback: (edge: HalfEdge) => void): void;
    forEachPosition(callback: (position: Position) => void): void;
    intersect(ray: THREE.Ray): Centroid | null;
    isManifold(): boolean;
    isEuler(): boolean;
    private extractFaces;
    private extractPositions;
    private findOrphan;
    private addOrphan;
    private dedupePositionsAndFaces;
}
