import type { default as Module, default as RawModule } from '@recast-navigation/wasm'; import type { Pretty } from './types'; export type { RawModule }; declare const instances: readonly ["Recast", "Detour", "DetourNavMeshBuilder", "DetourTileCacheBuilder", "NavMeshImporter", "NavMeshExporter", "CrowdUtils", "ChunkyTriMeshUtils", "RecastDebugDraw", "DetourDebugDraw"]; declare const classes: readonly ["rcConfig", "rcContext", "dtNavMeshParams", "dtNavMeshCreateParams", "RecastLinearAllocator", "RecastFastLZCompressor", "rcChunkyTriMesh", "dtTileCacheParams", "dtTileCacheLayerHeader", "Vec3", "BoolRef", "IntRef", "UnsignedIntRef", "UnsignedCharRef", "UnsignedShortRef", "FloatRef", "IntArray", "UnsignedIntArray", "UnsignedCharArray", "UnsignedShortArray", "FloatArray"]; type RawApi = Pretty<{ Module: typeof RawModule; isNull: (obj: unknown) => boolean; destroy: (obj: unknown) => void; } & { [K in (typeof instances)[number]]: InstanceType<(typeof RawModule)[K]>; } & { [K in (typeof classes)[number]]: (typeof RawModule)[K]; }>; /** * Lower level bindings for the Recast and Detour libraries. * * The `init` function must be called before using the `Raw` api. */ export declare const Raw: RawApi; export declare const Recast: { RC_BORDER_REG: number; RC_MULTIPLE_REGS: number; RC_BORDER_VERTEX: number; RC_AREA_BORDER: number; RC_CONTOUR_REG_MASK: number; RC_MESH_NULL_IDX: number; RC_NULL_AREA: number; RC_WALKABLE_AREA: number; RC_NOT_CONNECTED: number; RC_CONTOUR_TESS_WALL_EDGES: number; RC_CONTOUR_TESS_AREA_EDGES: number; RC_LOG_PROGRESS: number; RC_LOG_WARNING: number; RC_LOG_ERROR: number; RC_TIMER_TOTAL: number; RC_TIMER_TEMP: number; RC_TIMER_RASTERIZE_TRIANGLES: number; RC_TIMER_BUILD_COMPACTHEIGHTFIELD: number; RC_TIMER_BUILD_CONTOURS: number; RC_TIMER_BUILD_CONTOURS_TRACE: number; RC_TIMER_BUILD_CONTOURS_SIMPLIFY: number; RC_TIMER_FILTER_BORDER: number; RC_TIMER_FILTER_WALKABLE: number; RC_TIMER_MEDIAN_AREA: number; RC_TIMER_FILTER_LOW_OBSTACLES: number; RC_TIMER_BUILD_POLYMESH: number; RC_TIMER_MERGE_POLYMESH: number; RC_TIMER_ERODE_AREA: number; RC_TIMER_MARK_BOX_AREA: number; RC_TIMER_MARK_CYLINDER_AREA: number; RC_TIMER_MARK_CONVEXPOLY_AREA: number; RC_TIMER_BUILD_DISTANCEFIELD: number; RC_TIMER_BUILD_DISTANCEFIELD_DIST: number; RC_TIMER_BUILD_DISTANCEFIELD_BLUR: number; RC_TIMER_BUILD_REGIONS: number; RC_TIMER_BUILD_REGIONS_WATERSHED: number; RC_TIMER_BUILD_REGIONS_EXPAND: number; RC_TIMER_BUILD_REGIONS_FLOOD: number; RC_TIMER_BUILD_REGIONS_FILTER: number; RC_TIMER_BUILD_LAYERS: number; RC_TIMER_BUILD_POLYMESHDETAIL: number; RC_TIMER_MERGE_POLYMESHDETAIL: number; RC_MAX_TIMERS: number; }; export declare const Detour: { DT_FAILURE: number; DT_SUCCESS: number; DT_IN_PROGRESS: number; DT_STATUS_DETAIL_MASK: number; DT_WRONG_MAGIC: number; DT_WRONG_VERSION: number; DT_OUT_OF_MEMORY: number; DT_INVALID_PARAM: number; DT_BUFFER_TOO_SMALL: number; DT_OUT_OF_NODES: number; DT_PARTIAL_RESULT: number; DT_ALREADY_OCCUPIED: number; DT_VERTS_PER_POLYGON: number; DT_NAVMESH_MAGIC: number; DT_NAVMESH_VERSION: number; DT_NAVMESH_STATE_MAGIC: number; DT_NAVMESH_STATE_VERSION: number; DT_TILECACHE_MAGIC: number; DT_TILECACHE_VERSION: number; DT_TILECACHE_NULL_AREA: number; DT_TILECACHE_WALKABLE_AREA: number; DT_TILECACHE_NULL_IDX: number; DT_NULL_LINK: number; DT_EXT_LINK: number; DT_OFFMESH_CON_BIDIR: number; DT_STRAIGHTPATH_START: number; DT_STRAIGHTPATH_END: number; DT_STRAIGHTPATH_OFFMESH_CONNECTION: number; DT_STRAIGHTPATH_AREA_CROSSINGS: number; DT_STRAIGHTPATH_ALL_CROSSINGS: number; DT_FINDPATH_ANY_ANGLE: number; DT_RAYCAST_USE_COSTS: number; DT_CROWDAGENT_STATE_INVALID: number; DT_CROWDAGENT_STATE_WALKING: number; DT_CROWDAGENT_STATE_OFFMESH: number; DT_CROWDAGENT_TARGET_NONE: number; DT_CROWDAGENT_TARGET_FAILED: number; DT_CROWDAGENT_TARGET_VALID: number; DT_CROWDAGENT_TARGET_REQUESTING: number; DT_CROWDAGENT_TARGET_WAITING_FOR_QUEUE: number; DT_CROWDAGENT_TARGET_WAITING_FOR_PATH: number; DT_CROWDAGENT_TARGET_VELOCITY: number; DT_COMPRESSEDTILE_FREE_DATA: number; DT_TILE_FREE_DATA: number; }; export declare const init: (impl?: typeof Module) => Promise;