import { type DebugDrawerPrimitive, type NavMesh, type NavMeshQuery, type RecastCompactHeightfield, type RecastContourSet, type RecastHeightfield, type RecastHeightfieldLayer, type RecastHeightfieldLayerSet, type RecastPolyMesh, type RecastPolyMeshDetail } from '@recast-navigation/core'; import * as THREE from 'three'; import { LineMaterial } from 'three/addons/lines/LineMaterial.js'; export type DebugDrawerParams = { triMaterial?: THREE.Material; pointMaterial?: THREE.Material; lineMaterial?: LineMaterial; }; export declare class DebugDrawer extends THREE.Group { triMaterial: THREE.Material; pointMaterial: THREE.Material; pointGeometry: THREE.SphereGeometry; lineMaterial: LineMaterial; private debugDrawerUtils; constructor({ triMaterial, pointMaterial, lineMaterial, }?: DebugDrawerParams); drawPrimitives(primitives: DebugDrawerPrimitive[]): void; drawHeightfieldSolid(hf: RecastHeightfield): void; drawHeightfieldWalkable(hf: RecastHeightfield): void; drawCompactHeightfieldSolid(chf: RecastCompactHeightfield): void; drawCompactHeightfieldRegions(chf: RecastCompactHeightfield): void; drawCompactHeightfieldDistance(chf: RecastCompactHeightfield): void; drawHeightfieldLayer(layer: RecastHeightfieldLayer, idx: number): void; drawHeightfieldLayers(lset: RecastHeightfieldLayerSet): void; drawRegionConnections(cset: RecastContourSet, alpha?: number): void; drawRawContours(cset: RecastContourSet, alpha?: number): void; drawContours(cset: RecastContourSet, alpha?: number): void; drawPolyMesh(mesh: RecastPolyMesh): void; drawPolyMeshDetail(dmesh: RecastPolyMeshDetail): void; drawNavMesh(mesh: NavMesh, flags?: number): void; drawNavMeshWithClosedList(mesh: NavMesh, query: NavMeshQuery, flags?: number): void; drawNavMeshNodes(query: NavMeshQuery): void; drawNavMeshBVTree(mesh: NavMesh): void; drawNavMeshPortals(mesh: NavMesh): void; /** * @param col color in 0xRRGGBBAA format */ drawNavMeshPolysWithFlags(mesh: NavMesh, flags: number, col: number): void; /** * @param col color in 0xRRGGBBAA format */ drawNavMeshPoly(mesh: NavMesh, ref: number, col: number): void; reset(): void; dispose(): void; private drawPoints; private drawLines; private drawTris; private drawQuads; }