import { WINDING, ELEMENT } from './utils/constants'; import { TESSmesh } from './mesh/TESSmesh'; import { PriorityQ } from './utils/PriorityQ'; import { Dict } from './utils/Dict'; export declare type V3 = [number, number, number | 0]; export declare type V2 = [number, number]; declare type TESSface = any; declare type TESSedge = any; export declare class Tesselator { mesh: TESSmesh; normal: V3; sUnit: V3; tUnit: V3; bmin: V2; bmax: V2; windingRule: WINDING; dict: Dict; pq: PriorityQ; event: any; vertexIndexCounter: number; vertices: Array; vertexIndices: Array; vertexCount: number; elements: Array; elementCount: number; dot_(u: V3, v: V3): number; normalize_(v: V3): void; longAxis_(v: V3): number; computeNormal_(norm: V3): void; checkOrientation_(): void; projectPolygon_(): void; addWinding_(eDst: any, eSrc: any): void; tessellateMonoRegion_(mesh: any, face: TESSface): boolean; tessellateInterior_(mesh: TESSmesh): boolean; discardExterior_(mesh: TESSmesh): void; setWindingNumber_(mesh: TESSmesh, value: number, keepOnlyBoundary: boolean): void; getNeighbourFace_(edge: TESSedge): TESSedge; outputPolymesh_(mesh: TESSmesh, elementType: number, polySize: number, vertexSize: number): void; outputContours_(mesh: TESSmesh, vertexSize: number): void; addContour(size: number, vertices: Array): void; tesselate(windingRule: WINDING, elementType: ELEMENT, polySize: number, vertexSize: 2 | 3, normal: V3, validate?: boolean): boolean; } export {};