@7h3laughingman/foundry-types 13.351.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +3 -0
  3. package/package.json +76 -0
  4. package/src/client/_module.d.mts +103 -0
  5. package/src/client/_types.d.mts +900 -0
  6. package/src/client/applications/_module.d.mts +27 -0
  7. package/src/client/applications/_types.d.mts +192 -0
  8. package/src/client/applications/api/_module.d.mts +8 -0
  9. package/src/client/applications/api/application.d.mts +456 -0
  10. package/src/client/applications/api/category-browser.d.mts +78 -0
  11. package/src/client/applications/api/dialog.d.mts +213 -0
  12. package/src/client/applications/api/document-sheet.d.mts +148 -0
  13. package/src/client/applications/api/handlebars-application.d.mts +120 -0
  14. package/src/client/applications/apps/_module.d.mts +10 -0
  15. package/src/client/applications/apps/av/_module.d.mts +2 -0
  16. package/src/client/applications/apps/av/camera-popout.d.mts +53 -0
  17. package/src/client/applications/apps/av/cameras.d.mts +235 -0
  18. package/src/client/applications/apps/combat-tracker-config.d.mts +27 -0
  19. package/src/client/applications/apps/compendium-art-config.d.mts +17 -0
  20. package/src/client/applications/apps/document-ownership.d.mts +17 -0
  21. package/src/client/applications/apps/document-sheet-config.d.mts +144 -0
  22. package/src/client/applications/apps/file-picker.d.mts +321 -0
  23. package/src/client/applications/apps/grid-config.d.mts +33 -0
  24. package/src/client/applications/apps/image-popout.d.mts +92 -0
  25. package/src/client/applications/apps/permission-config.d.mts +24 -0
  26. package/src/client/applications/dice/_module.d.mts +1 -0
  27. package/src/client/applications/dice/roll-resolver.d.mts +92 -0
  28. package/src/client/applications/elements/_module.d.mts +19 -0
  29. package/src/client/applications/elements/codemirror/element.d.mts +73 -0
  30. package/src/client/applications/elements/color-picker.d.mts +14 -0
  31. package/src/client/applications/elements/document-embed.d.mts +14 -0
  32. package/src/client/applications/elements/document-tags.d.mts +50 -0
  33. package/src/client/applications/elements/enriched-content.d.mts +31 -0
  34. package/src/client/applications/elements/file-picker.d.mts +59 -0
  35. package/src/client/applications/elements/form-element.d.mts +105 -0
  36. package/src/client/applications/elements/hue-slider.d.mts +35 -0
  37. package/src/client/applications/elements/multi-select.d.mts +89 -0
  38. package/src/client/applications/elements/prosemirror-editor.d.mts +32 -0
  39. package/src/client/applications/elements/range-picker.d.mts +23 -0
  40. package/src/client/applications/elements/secret-block.d.mts +28 -0
  41. package/src/client/applications/elements/string-tags.d.mts +50 -0
  42. package/src/client/applications/forms/fields.d.mts +132 -0
  43. package/src/client/applications/handlebars.d.mts +303 -0
  44. package/src/client/applications/hud/_module.d.mts +5 -0
  45. package/src/client/applications/hud/container.d.mts +38 -0
  46. package/src/client/applications/hud/drawing-hud.d.mts +14 -0
  47. package/src/client/applications/hud/placeable-hud.d.mts +72 -0
  48. package/src/client/applications/hud/tile-hud.d.mts +21 -0
  49. package/src/client/applications/hud/token-hud.d.mts +69 -0
  50. package/src/client/applications/settings/_module.d.mts +2 -0
  51. package/src/client/applications/settings/config.d.mts +38 -0
  52. package/src/client/applications/settings/menus/_module.d.mts +6 -0
  53. package/src/client/applications/settings/menus/av-config.d.mts +37 -0
  54. package/src/client/applications/settings/menus/default-sheets-config.d.mts +23 -0
  55. package/src/client/applications/settings/menus/dice-config.d.mts +23 -0
  56. package/src/client/applications/settings/menus/font-config.d.mts +145 -0
  57. package/src/client/applications/settings/menus/prototype-overrides.d.mts +20 -0
  58. package/src/client/applications/settings/menus/ui-config.d.mts +40 -0
  59. package/src/client/applications/sheets/_module.d.mts +9 -0
  60. package/src/client/applications/sheets/combatant-config.d.mts +21 -0
  61. package/src/client/applications/sheets/item-sheet.d.mts +13 -0
  62. package/src/client/applications/sheets/scene-config.d.mts +50 -0
  63. package/src/client/applications/sheets/template-config.d.mts +19 -0
  64. package/src/client/applications/sheets/token/mixin.mts +182 -0
  65. package/src/client/applications/sheets/token/prototype-config.d.mts +75 -0
  66. package/src/client/applications/sheets/token/token-config.d.mts +62 -0
  67. package/src/client/applications/sheets/user-config.d.mts +27 -0
  68. package/src/client/applications/sidebar/_module.d.mts +5 -0
  69. package/src/client/applications/sidebar/apps/_module.d.mts +9 -0
  70. package/src/client/applications/sidebar/apps/chat-popout.d.mts +45 -0
  71. package/src/client/applications/sidebar/apps/compendium.d.mts +65 -0
  72. package/src/client/applications/sidebar/apps/controls-config.d.mts +29 -0
  73. package/src/client/applications/sidebar/apps/folder-export.d.mts +11 -0
  74. package/src/client/applications/sidebar/apps/invitation-links.d.mts +10 -0
  75. package/src/client/applications/sidebar/apps/module-management.d.mts +65 -0
  76. package/src/client/applications/sidebar/apps/support-details.d.mts +72 -0
  77. package/src/client/applications/sidebar/apps/tours-management.d.mts +16 -0
  78. package/src/client/applications/sidebar/apps/world-config.d.mts +38 -0
  79. package/src/client/applications/sidebar/document-directory.d.mts +327 -0
  80. package/src/client/applications/sidebar/sidebar-tab.d.mts +89 -0
  81. package/src/client/applications/sidebar/sidebar.d.mts +93 -0
  82. package/src/client/applications/sidebar/tabs/_module.d.mts +14 -0
  83. package/src/client/applications/sidebar/tabs/actor-directory.d.mts +26 -0
  84. package/src/client/applications/sidebar/tabs/cards-directory.d.mts +19 -0
  85. package/src/client/applications/sidebar/tabs/chat.d.mts +271 -0
  86. package/src/client/applications/sidebar/tabs/combat-tracker.d.mts +198 -0
  87. package/src/client/applications/sidebar/tabs/compendium-directory.d.mts +289 -0
  88. package/src/client/applications/sidebar/tabs/item-directory.d.mts +24 -0
  89. package/src/client/applications/sidebar/tabs/journal-directory.d.mts +19 -0
  90. package/src/client/applications/sidebar/tabs/macro-directory.d.mts +12 -0
  91. package/src/client/applications/sidebar/tabs/playlist-directory.d.mts +267 -0
  92. package/src/client/applications/sidebar/tabs/roll-table-directory.d.mts +19 -0
  93. package/src/client/applications/sidebar/tabs/scene-directory.d.mts +26 -0
  94. package/src/client/applications/sidebar/tabs/settings.d.mts +16 -0
  95. package/src/client/applications/ui/_module.d.mts +9 -0
  96. package/src/client/applications/ui/game-pause.d.mts +15 -0
  97. package/src/client/applications/ui/hotbar.d.mts +86 -0
  98. package/src/client/applications/ui/main-menu.d.mts +48 -0
  99. package/src/client/applications/ui/notifications.d.mts +168 -0
  100. package/src/client/applications/ui/players.d.mts +92 -0
  101. package/src/client/applications/ui/region-legend.d.mts +47 -0
  102. package/src/client/applications/ui/scene-controls.d.mts +138 -0
  103. package/src/client/applications/ui/scene-navigation.d.mts +61 -0
  104. package/src/client/applications/ux/_module.d.mts +11 -0
  105. package/src/client/applications/ux/context-menu.d.mts +202 -0
  106. package/src/client/applications/ux/drag-drop.d.mts +131 -0
  107. package/src/client/applications/ux/draggable.d.mts +108 -0
  108. package/src/client/applications/ux/form-data-extended.d.mts +76 -0
  109. package/src/client/applications/ux/html-secret.d.mts +61 -0
  110. package/src/client/applications/ux/prosemirror-editor.d.mts +173 -0
  111. package/src/client/applications/ux/search-filter.d.mts +119 -0
  112. package/src/client/applications/ux/tabs.d.mts +94 -0
  113. package/src/client/applications/ux/text-editor.d.mts +329 -0
  114. package/src/client/appv1/_module.d.mts +2 -0
  115. package/src/client/appv1/api/_module.d.mts +8 -0
  116. package/src/client/appv1/api/application-v1.d.mts +388 -0
  117. package/src/client/appv1/api/dialog-v1.d.mts +191 -0
  118. package/src/client/appv1/api/document-sheet-v1.d.mts +96 -0
  119. package/src/client/appv1/api/form-application-v1.d.mts +203 -0
  120. package/src/client/appv1/sheets/_module.d.mts +9 -0
  121. package/src/client/appv1/sheets/actor-sheet.d.mts +129 -0
  122. package/src/client/appv1/sheets/adventure-importer.d.mts +43 -0
  123. package/src/client/appv1/sheets/item-sheet.d.mts +42 -0
  124. package/src/client/appv1/sheets/journal-page-sheet.d.mts +100 -0
  125. package/src/client/appv1/sheets/journal-sheet.d.mts +262 -0
  126. package/src/client/audio/_module.d.mts +9 -0
  127. package/src/client/audio/_types.d.mts +121 -0
  128. package/src/client/audio/biquad.d.mts +29 -0
  129. package/src/client/audio/cache.d.mts +58 -0
  130. package/src/client/audio/convolver.d.mts +50 -0
  131. package/src/client/audio/helper.d.mts +306 -0
  132. package/src/client/audio/sound.d.mts +289 -0
  133. package/src/client/audio/timeout.d.mts +71 -0
  134. package/src/client/av/_module.d.mts +7 -0
  135. package/src/client/av/client.d.mts +167 -0
  136. package/src/client/av/clients/_module.d.mts +1 -0
  137. package/src/client/av/clients/simplepeer.d.mts +123 -0
  138. package/src/client/av/master.d.mts +128 -0
  139. package/src/client/av/settings.d.mts +100 -0
  140. package/src/client/canvas/_module.d.mts +20 -0
  141. package/src/client/canvas/animation/_module.d.mts +5 -0
  142. package/src/client/canvas/animation/_types.d.mts +73 -0
  143. package/src/client/canvas/animation/canvas-animation.d.mts +114 -0
  144. package/src/client/canvas/animation/chat-bubbles.d.mts +58 -0
  145. package/src/client/canvas/animation/smooth-noise.d.mts +34 -0
  146. package/src/client/canvas/board.d.mts +413 -0
  147. package/src/client/canvas/containers/_module.d.mts +20 -0
  148. package/src/client/canvas/containers/_types.d.mts +21 -0
  149. package/src/client/canvas/containers/advanced/cached-container.d.mts +108 -0
  150. package/src/client/canvas/containers/advanced/full-canvas-mixin.d.mts +12 -0
  151. package/src/client/canvas/containers/advanced/full-container-mixin.d.mts +12 -0
  152. package/src/client/canvas/containers/advanced/unbound-container.d.mts +12 -0
  153. package/src/client/canvas/containers/elements/control-icon.d.mts +40 -0
  154. package/src/client/canvas/containers/elements/cursor.d.mts +37 -0
  155. package/src/client/canvas/containers/elements/door-control.d.mts +66 -0
  156. package/src/client/canvas/containers/elements/door-mesh.d.mts +127 -0
  157. package/src/client/canvas/containers/elements/grid-highlight.d.mts +25 -0
  158. package/src/client/canvas/containers/elements/grid-mesh.d.mts +34 -0
  159. package/src/client/canvas/containers/elements/particles/leaves.d.mts +15 -0
  160. package/src/client/canvas/containers/elements/particles/particle-effect.d.mts +45 -0
  161. package/src/client/canvas/containers/elements/point-source-mesh.d.mts +29 -0
  162. package/src/client/canvas/containers/elements/precise-text.d.mts +18 -0
  163. package/src/client/canvas/containers/elements/quad-mesh.d.mts +41 -0
  164. package/src/client/canvas/containers/elements/resize-handle.d.mts +61 -0
  165. package/src/client/canvas/containers/elements/sprite-mesh.d.mts +319 -0
  166. package/src/client/canvas/extensions/_module.d.mts +4 -0
  167. package/src/client/canvas/extensions/circle-extension.d.mts +4 -0
  168. package/src/client/canvas/extensions/graphics-extension.d.mts +5 -0
  169. package/src/client/canvas/extensions/polygon-extension.d.mts +4 -0
  170. package/src/client/canvas/extensions/rectangle-extension.d.mts +4 -0
  171. package/src/client/canvas/framebuffer-snapshot.d.mts +20 -0
  172. package/src/client/canvas/geometry/_module.d.mts +12 -0
  173. package/src/client/canvas/geometry/_types.d.mts +90 -0
  174. package/src/client/canvas/geometry/clockwise-sweep.d.mts +129 -0
  175. package/src/client/canvas/geometry/edges/_module.d.mts +5 -0
  176. package/src/client/canvas/geometry/edges/collision.d.mts +58 -0
  177. package/src/client/canvas/geometry/edges/edge.d.mts +144 -0
  178. package/src/client/canvas/geometry/edges/edges.d.mts +14 -0
  179. package/src/client/canvas/geometry/edges/vertex.d.mts +85 -0
  180. package/src/client/canvas/geometry/observable-transform.d.mts +28 -0
  181. package/src/client/canvas/geometry/quad-tree.d.mts +150 -0
  182. package/src/client/canvas/geometry/shapes/limited-angle-polygon.d.mts +69 -0
  183. package/src/client/canvas/geometry/shapes/polygon-mesher.d.mts +50 -0
  184. package/src/client/canvas/geometry/shapes/ray.d.mts +126 -0
  185. package/src/client/canvas/geometry/shapes/source-polygon.d.mts +161 -0
  186. package/src/client/canvas/geometry/unbound-transform.d.mts +9 -0
  187. package/src/client/canvas/geometry/weiler-atherton-clipping.d.mts +120 -0
  188. package/src/client/canvas/groups/_module.d.mts +10 -0
  189. package/src/client/canvas/groups/canvas-group-mixin.mts +95 -0
  190. package/src/client/canvas/groups/effects.d.mts +118 -0
  191. package/src/client/canvas/groups/environment.d.mts +79 -0
  192. package/src/client/canvas/groups/hidden.d.mts +42 -0
  193. package/src/client/canvas/groups/interface.d.mts +31 -0
  194. package/src/client/canvas/groups/overlay.d.mts +11 -0
  195. package/src/client/canvas/groups/primary.d.mts +223 -0
  196. package/src/client/canvas/groups/rendered.d.mts +7 -0
  197. package/src/client/canvas/groups/visibility.d.mts +154 -0
  198. package/src/client/canvas/interaction/_module.d.mts +15 -0
  199. package/src/client/canvas/interaction/_types.d.mts +67 -0
  200. package/src/client/canvas/interaction/mouse-handler.d.mts +231 -0
  201. package/src/client/canvas/interaction/ping/alert.d.mts +16 -0
  202. package/src/client/canvas/interaction/ping/arrow.d.mts +16 -0
  203. package/src/client/canvas/interaction/ping/chevron.d.mts +25 -0
  204. package/src/client/canvas/interaction/ping/ping.d.mts +35 -0
  205. package/src/client/canvas/interaction/ping/pulse.d.mts +28 -0
  206. package/src/client/canvas/interaction/render-flags.d.mts +69 -0
  207. package/src/client/canvas/interaction/ruler/base-ruler.d.mts +179 -0
  208. package/src/client/canvas/interaction/ruler/ruler.d.mts +56 -0
  209. package/src/client/canvas/layers/_module.d.mts +31 -0
  210. package/src/client/canvas/layers/_types.d.mts +89 -0
  211. package/src/client/canvas/layers/base/canvas-layer.d.mts +71 -0
  212. package/src/client/canvas/layers/base/interaction-layer.d.mts +176 -0
  213. package/src/client/canvas/layers/base/placeables-layer.d.mts +410 -0
  214. package/src/client/canvas/layers/controls.d.mts +181 -0
  215. package/src/client/canvas/layers/drawings.d.mts +75 -0
  216. package/src/client/canvas/layers/effects/background-effects.d.mts +32 -0
  217. package/src/client/canvas/layers/effects/coloration-effects.d.mts +23 -0
  218. package/src/client/canvas/layers/effects/darkness-effects.d.mts +14 -0
  219. package/src/client/canvas/layers/effects/illumination-effects.d.mts +72 -0
  220. package/src/client/canvas/layers/effects/weather-effects.d.mts +137 -0
  221. package/src/client/canvas/layers/grid.d.mts +112 -0
  222. package/src/client/canvas/layers/lighting.d.mts +59 -0
  223. package/src/client/canvas/layers/masks/depth.d.mts +53 -0
  224. package/src/client/canvas/layers/masks/occlusion.d.mts +84 -0
  225. package/src/client/canvas/layers/masks/vision.d.mts +44 -0
  226. package/src/client/canvas/layers/notes.d.mts +59 -0
  227. package/src/client/canvas/layers/regions.d.mts +70 -0
  228. package/src/client/canvas/layers/sounds.d.mts +190 -0
  229. package/src/client/canvas/layers/templates.d.mts +41 -0
  230. package/src/client/canvas/layers/tiles.d.mts +66 -0
  231. package/src/client/canvas/layers/tokens.d.mts +171 -0
  232. package/src/client/canvas/layers/walls.d.mts +99 -0
  233. package/src/client/canvas/loader.d.mts +135 -0
  234. package/src/client/canvas/perception/_module.d.mts +13 -0
  235. package/src/client/canvas/perception/_types.d.mts +61 -0
  236. package/src/client/canvas/perception/detection-mode.d.mts +122 -0
  237. package/src/client/canvas/perception/detection-modes/darkvision.d.mts +11 -0
  238. package/src/client/canvas/perception/detection-modes/invisibility-perception.d.mts +15 -0
  239. package/src/client/canvas/perception/detection-modes/light-perception.d.mts +18 -0
  240. package/src/client/canvas/perception/detection-modes/super-perception.d.mts +13 -0
  241. package/src/client/canvas/perception/detection-modes/tremor-perception.d.mts +13 -0
  242. package/src/client/canvas/perception/fog.d.mts +65 -0
  243. package/src/client/canvas/perception/perception-manager.d.mts +72 -0
  244. package/src/client/canvas/perception/vision-mode.d.mts +133 -0
  245. package/src/client/canvas/placeables/_module.d.mts +15 -0
  246. package/src/client/canvas/placeables/_types.d.mts +29 -0
  247. package/src/client/canvas/placeables/drawing.d.mts +106 -0
  248. package/src/client/canvas/placeables/light.d.mts +155 -0
  249. package/src/client/canvas/placeables/note.d.mts +61 -0
  250. package/src/client/canvas/placeables/placeable-object.d.mts +415 -0
  251. package/src/client/canvas/placeables/region.d.mts +129 -0
  252. package/src/client/canvas/placeables/regions/_module.d.mts +2 -0
  253. package/src/client/canvas/placeables/regions/geometry.d.mts +19 -0
  254. package/src/client/canvas/placeables/regions/mesh.d.mts +72 -0
  255. package/src/client/canvas/placeables/sound.d.mts +93 -0
  256. package/src/client/canvas/placeables/template.d.mts +164 -0
  257. package/src/client/canvas/placeables/tile.d.mts +189 -0
  258. package/src/client/canvas/placeables/token.d.mts +675 -0
  259. package/src/client/canvas/placeables/tokens/_module.d.mts +8 -0
  260. package/src/client/canvas/placeables/tokens/base-ruler.d.mts +68 -0
  261. package/src/client/canvas/placeables/tokens/ring-config.d.mts +201 -0
  262. package/src/client/canvas/placeables/tokens/ring-data.d.mts +56 -0
  263. package/src/client/canvas/placeables/tokens/ring.d.mts +194 -0
  264. package/src/client/canvas/placeables/tokens/ruler.d.mts +96 -0
  265. package/src/client/canvas/placeables/tokens/targets.d.mts +22 -0
  266. package/src/client/canvas/placeables/tokens/turn-marker-data.d.mts +52 -0
  267. package/src/client/canvas/placeables/tokens/turn-marker.d.mts +45 -0
  268. package/src/client/canvas/placeables/wall.d.mts +155 -0
  269. package/src/client/canvas/primary/_module.d.mts +7 -0
  270. package/src/client/canvas/primary/primary-canvas-container.d.mts +40 -0
  271. package/src/client/canvas/primary/primary-canvas-object.mts +215 -0
  272. package/src/client/canvas/primary/primary-graphics.d.mts +22 -0
  273. package/src/client/canvas/primary/primary-occludable-object.mts +139 -0
  274. package/src/client/canvas/primary/primary-particle-effect.d.mts +50 -0
  275. package/src/client/canvas/primary/primary-sprite-mesh.d.mts +127 -0
  276. package/src/client/canvas/rendering/_module.d.mts +5 -0
  277. package/src/client/canvas/rendering/batching/_module.d.mts +2 -0
  278. package/src/client/canvas/rendering/batching/batch-renderer.d.mts +71 -0
  279. package/src/client/canvas/rendering/batching/batch-shader-generator.d.mts +13 -0
  280. package/src/client/canvas/rendering/blend-modes.d.mts +37 -0
  281. package/src/client/canvas/rendering/filters/_module.d.mts +13 -0
  282. package/src/client/canvas/rendering/filters/base-filter.d.mts +28 -0
  283. package/src/client/canvas/rendering/filters/base-mask-filter.d.mts +14 -0
  284. package/src/client/canvas/rendering/filters/blur.d.mts +152 -0
  285. package/src/client/canvas/rendering/filters/effects-masking.d.mts +84 -0
  286. package/src/client/canvas/rendering/filters/environment.d.mts +22 -0
  287. package/src/client/canvas/rendering/filters/glow-overlay.d.mts +41 -0
  288. package/src/client/canvas/rendering/filters/invisibility.d.mts +11 -0
  289. package/src/client/canvas/rendering/filters/outline-overlay.d.mts +43 -0
  290. package/src/client/canvas/rendering/filters/smaa/_module.d.mts +4 -0
  291. package/src/client/canvas/rendering/filters/smaa/blend.d.mts +6 -0
  292. package/src/client/canvas/rendering/filters/smaa/edges.d.mts +11 -0
  293. package/src/client/canvas/rendering/filters/smaa/smaa.d.mts +102 -0
  294. package/src/client/canvas/rendering/filters/smaa/weights.d.mts +11 -0
  295. package/src/client/canvas/rendering/filters/transition.d.mts +97 -0
  296. package/src/client/canvas/rendering/filters/visibility.d.mts +46 -0
  297. package/src/client/canvas/rendering/filters/vision-mask-filter.d.mts +15 -0
  298. package/src/client/canvas/rendering/filters/void.d.mts +6 -0
  299. package/src/client/canvas/rendering/filters/weather-occlusion-mask.d.mts +30 -0
  300. package/src/client/canvas/rendering/mixins/_module.d.mts +2 -0
  301. package/src/client/canvas/rendering/mixins/base-shader-mixin.d.mts +118 -0
  302. package/src/client/canvas/rendering/mixins/fragment-channel-mixin.d.mts +21 -0
  303. package/src/client/canvas/rendering/shaders/_module.d.mts +80 -0
  304. package/src/client/canvas/rendering/shaders/_types.d.mts +98 -0
  305. package/src/client/canvas/rendering/shaders/base-shader.d.mts +58 -0
  306. package/src/client/canvas/rendering/shaders/graphics/dash-line.d.mts +13 -0
  307. package/src/client/canvas/rendering/shaders/grid/grid.d.mts +99 -0
  308. package/src/client/canvas/rendering/shaders/lighting/background-lighting.d.mts +50 -0
  309. package/src/client/canvas/rendering/shaders/lighting/base-lighting.d.mts +164 -0
  310. package/src/client/canvas/rendering/shaders/lighting/coloration-lighting.d.mts +48 -0
  311. package/src/client/canvas/rendering/shaders/lighting/darkness-lighting.d.mts +45 -0
  312. package/src/client/canvas/rendering/shaders/lighting/effects/bewitching-wave.d.mts +10 -0
  313. package/src/client/canvas/rendering/shaders/lighting/effects/black-hole.d.mts +5 -0
  314. package/src/client/canvas/rendering/shaders/lighting/effects/chroma.d.mts +5 -0
  315. package/src/client/canvas/rendering/shaders/lighting/effects/emanation.d.mts +5 -0
  316. package/src/client/canvas/rendering/shaders/lighting/effects/energy-field.d.mts +5 -0
  317. package/src/client/canvas/rendering/shaders/lighting/effects/fairy-light.d.mts +10 -0
  318. package/src/client/canvas/rendering/shaders/lighting/effects/flame.d.mts +75 -0
  319. package/src/client/canvas/rendering/shaders/lighting/effects/fog.d.mts +5 -0
  320. package/src/client/canvas/rendering/shaders/lighting/effects/force-grid.d.mts +5 -0
  321. package/src/client/canvas/rendering/shaders/lighting/effects/ghost-light.d.mts +10 -0
  322. package/src/client/canvas/rendering/shaders/lighting/effects/hexa-dome.d.mts +5 -0
  323. package/src/client/canvas/rendering/shaders/lighting/effects/light-dome.d.mts +5 -0
  324. package/src/client/canvas/rendering/shaders/lighting/effects/magical-gloom.d.mts +5 -0
  325. package/src/client/canvas/rendering/shaders/lighting/effects/pulse.d.mts +41 -0
  326. package/src/client/canvas/rendering/shaders/lighting/effects/radial-rainbow.d.mts +5 -0
  327. package/src/client/canvas/rendering/shaders/lighting/effects/revolving-light.d.mts +38 -0
  328. package/src/client/canvas/rendering/shaders/lighting/effects/roiling-mass.d.mts +5 -0
  329. package/src/client/canvas/rendering/shaders/lighting/effects/siren-light.d.mts +80 -0
  330. package/src/client/canvas/rendering/shaders/lighting/effects/smoke-patch.d.mts +10 -0
  331. package/src/client/canvas/rendering/shaders/lighting/effects/star-light.d.mts +5 -0
  332. package/src/client/canvas/rendering/shaders/lighting/effects/sunburst.d.mts +10 -0
  333. package/src/client/canvas/rendering/shaders/lighting/effects/swirling-rainbow.d.mts +5 -0
  334. package/src/client/canvas/rendering/shaders/lighting/effects/torch.d.mts +41 -0
  335. package/src/client/canvas/rendering/shaders/lighting/effects/vortex.d.mts +10 -0
  336. package/src/client/canvas/rendering/shaders/lighting/effects/wave.d.mts +10 -0
  337. package/src/client/canvas/rendering/shaders/lighting/illumination-lighting.d.mts +51 -0
  338. package/src/client/canvas/rendering/shaders/region/adjust-darkness-level.d.mts +58 -0
  339. package/src/client/canvas/rendering/shaders/region/base.d.mts +20 -0
  340. package/src/client/canvas/rendering/shaders/region/highlight.d.mts +18 -0
  341. package/src/client/canvas/rendering/shaders/samplers/amplification.d.mts +30 -0
  342. package/src/client/canvas/rendering/shaders/samplers/base-sampler.d.mts +141 -0
  343. package/src/client/canvas/rendering/shaders/samplers/baseline-illumination.d.mts +15 -0
  344. package/src/client/canvas/rendering/shaders/samplers/color-adjustments.d.mts +36 -0
  345. package/src/client/canvas/rendering/shaders/samplers/colorize-brightness.d.mts +17 -0
  346. package/src/client/canvas/rendering/shaders/samplers/fog-of-war.d.mts +9 -0
  347. package/src/client/canvas/rendering/shaders/samplers/primary/depth.d.mts +66 -0
  348. package/src/client/canvas/rendering/shaders/samplers/primary/occlusion.d.mts +77 -0
  349. package/src/client/canvas/rendering/shaders/samplers/primary/primary.d.mts +28 -0
  350. package/src/client/canvas/rendering/shaders/samplers/primary/token-ring.d.mts +33 -0
  351. package/src/client/canvas/rendering/shaders/vision/background-vision.d.mts +47 -0
  352. package/src/client/canvas/rendering/shaders/vision/base-vision.d.mts +11 -0
  353. package/src/client/canvas/rendering/shaders/vision/coloration-vision.d.mts +43 -0
  354. package/src/client/canvas/rendering/shaders/vision/effects/amplification.d.mts +35 -0
  355. package/src/client/canvas/rendering/shaders/vision/effects/wave.d.mts +10 -0
  356. package/src/client/canvas/rendering/shaders/vision/illumination-vision.d.mts +45 -0
  357. package/src/client/canvas/rendering/shaders/weather/base-weather.d.mts +87 -0
  358. package/src/client/canvas/rendering/shaders/weather/effect.d.mts +27 -0
  359. package/src/client/canvas/rendering/shaders/weather/fog.d.mts +26 -0
  360. package/src/client/canvas/rendering/shaders/weather/rain.d.mts +16 -0
  361. package/src/client/canvas/rendering/shaders/weather/snow.d.mts +12 -0
  362. package/src/client/canvas/scene-manager.d.mts +101 -0
  363. package/src/client/canvas/sources/_module.d.mts +10 -0
  364. package/src/client/canvas/sources/base-effect-source.d.mts +179 -0
  365. package/src/client/canvas/sources/base-light-source.d.mts +141 -0
  366. package/src/client/canvas/sources/global-light-source.d.mts +36 -0
  367. package/src/client/canvas/sources/point-darkness-source.d.mts +87 -0
  368. package/src/client/canvas/sources/point-effect-source.d.mts +105 -0
  369. package/src/client/canvas/sources/point-light-source.d.mts +54 -0
  370. package/src/client/canvas/sources/point-movement-source.d.mts +10 -0
  371. package/src/client/canvas/sources/point-sound-source.d.mts +29 -0
  372. package/src/client/canvas/sources/point-vision-source.d.mts +151 -0
  373. package/src/client/canvas/sources/rendered-effect-source.d.mts +214 -0
  374. package/src/client/canvas/texture-extractor.d.mts +98 -0
  375. package/src/client/canvas/workers/_module.d.mts +1 -0
  376. package/src/client/canvas/workers/texture-worker.d.mts +73 -0
  377. package/src/client/client.d.mts +15 -0
  378. package/src/client/config.d.mts +868 -0
  379. package/src/client/data/_module.d.mts +11 -0
  380. package/src/client/data/_types.d.mts +97 -0
  381. package/src/client/data/calendar.d.mts +175 -0
  382. package/src/client/data/client-backend.d.mts +82 -0
  383. package/src/client/data/combat-config.d.mts +84 -0
  384. package/src/client/data/region-behaviors/_module.d.mts +9 -0
  385. package/src/client/data/region-behaviors/adjust-darkness-level.d.mts +29 -0
  386. package/src/client/data/region-behaviors/base.d.mts +70 -0
  387. package/src/client/data/region-behaviors/execute-macro.d.mts +17 -0
  388. package/src/client/data/region-behaviors/execute-script.d.mts +15 -0
  389. package/src/client/data/region-behaviors/increase-movement-cost.d.mts +36 -0
  390. package/src/client/data/region-behaviors/pause-game.d.mts +15 -0
  391. package/src/client/data/region-behaviors/suppress-weather.d.mts +13 -0
  392. package/src/client/data/region-behaviors/teleport-token.d.mts +27 -0
  393. package/src/client/data/region-behaviors/toggle-behavior.d.mts +19 -0
  394. package/src/client/data/region-shapes/_module.d.mts +2 -0
  395. package/src/client/data/region-shapes/polygon-tree.d.mts +101 -0
  396. package/src/client/data/region-shapes/shape.d.mts +97 -0
  397. package/src/client/data/terrain-data.d.mts +70 -0
  398. package/src/client/dice/_module.d.mts +14 -0
  399. package/src/client/dice/_types.d.mts +89 -0
  400. package/src/client/dice/parser.d.mts +83 -0
  401. package/src/client/dice/roll.d.mts +542 -0
  402. package/src/client/dice/terms/_module.d.mts +16 -0
  403. package/src/client/dice/terms/_types.d.mts +10 -0
  404. package/src/client/dice/terms/coin.d.mts +35 -0
  405. package/src/client/dice/terms/dice.d.mts +263 -0
  406. package/src/client/dice/terms/die.d.mts +199 -0
  407. package/src/client/dice/terms/fate.d.mts +22 -0
  408. package/src/client/dice/terms/function.d.mts +60 -0
  409. package/src/client/dice/terms/numeric.d.mts +39 -0
  410. package/src/client/dice/terms/operator.d.mts +28 -0
  411. package/src/client/dice/terms/parenthetical.d.mts +70 -0
  412. package/src/client/dice/terms/pool.d.mts +170 -0
  413. package/src/client/dice/terms/string.d.mts +23 -0
  414. package/src/client/dice/terms/term.d.mts +135 -0
  415. package/src/client/dice/twister.d.mts +87 -0
  416. package/src/client/documents/_module.d.mts +70 -0
  417. package/src/client/documents/_types.d.mts +736 -0
  418. package/src/client/documents/abstract/_module.d.mts +6 -0
  419. package/src/client/documents/abstract/canvas-document.d.mts +65 -0
  420. package/src/client/documents/abstract/client-document.d.mts +545 -0
  421. package/src/client/documents/abstract/directory-collection-mixin.d.mts +79 -0
  422. package/src/client/documents/abstract/document-collection.d.mts +124 -0
  423. package/src/client/documents/abstract/world-collection.d.mts +157 -0
  424. package/src/client/documents/active-effect.d.mts +203 -0
  425. package/src/client/documents/actor-delta.d.mts +76 -0
  426. package/src/client/documents/actor.d.mts +269 -0
  427. package/src/client/documents/adventure.d.mts +38 -0
  428. package/src/client/documents/ambient-light.d.mts +34 -0
  429. package/src/client/documents/ambient-sound.d.mts +16 -0
  430. package/src/client/documents/card.d.mts +102 -0
  431. package/src/client/documents/cards.d.mts +38 -0
  432. package/src/client/documents/chat-message.d.mts +190 -0
  433. package/src/client/documents/collections/_module.d.mts +19 -0
  434. package/src/client/documents/collections/actors.d.mts +28 -0
  435. package/src/client/documents/collections/card-stacks.d.mts +14 -0
  436. package/src/client/documents/collections/chat-messages.d.mts +29 -0
  437. package/src/client/documents/collections/combat-encounters.d.mts +32 -0
  438. package/src/client/documents/collections/compendium-collection.d.mts +170 -0
  439. package/src/client/documents/collections/compendium-folders.d.mts +30 -0
  440. package/src/client/documents/collections/compendium-packs.d.mts +23 -0
  441. package/src/client/documents/collections/fog-explorations.d.mts +19 -0
  442. package/src/client/documents/collections/folders.d.mts +20 -0
  443. package/src/client/documents/collections/items.d.mts +13 -0
  444. package/src/client/documents/collections/journal.d.mts +24 -0
  445. package/src/client/documents/collections/macros.d.mts +15 -0
  446. package/src/client/documents/collections/playlists.d.mts +28 -0
  447. package/src/client/documents/collections/roll-tables.d.mts +20 -0
  448. package/src/client/documents/collections/scenes.d.mts +60 -0
  449. package/src/client/documents/collections/users.d.mts +57 -0
  450. package/src/client/documents/collections/world-settings.d.mts +34 -0
  451. package/src/client/documents/combat.d.mts +371 -0
  452. package/src/client/documents/combatant-group.d.mts +42 -0
  453. package/src/client/documents/combatant.d.mts +125 -0
  454. package/src/client/documents/drawing.d.mts +27 -0
  455. package/src/client/documents/fog-exploration.d.mts +30 -0
  456. package/src/client/documents/folder.d.mts +124 -0
  457. package/src/client/documents/item.d.mts +73 -0
  458. package/src/client/documents/journal-entry-category.d.mts +15 -0
  459. package/src/client/documents/journal-entry-page.d.mts +77 -0
  460. package/src/client/documents/journal-entry.d.mts +78 -0
  461. package/src/client/documents/macro.d.mts +56 -0
  462. package/src/client/documents/measured-template.d.mts +41 -0
  463. package/src/client/documents/note.d.mts +28 -0
  464. package/src/client/documents/playlist-sound.d.mts +107 -0
  465. package/src/client/documents/playlist.d.mts +163 -0
  466. package/src/client/documents/region-behavior.d.mts +55 -0
  467. package/src/client/documents/region.d.mts +98 -0
  468. package/src/client/documents/roll-table.d.mts +172 -0
  469. package/src/client/documents/scene.d.mts +282 -0
  470. package/src/client/documents/setting.d.mts +35 -0
  471. package/src/client/documents/table-result.d.mts +35 -0
  472. package/src/client/documents/tile.d.mts +22 -0
  473. package/src/client/documents/token.d.mts +621 -0
  474. package/src/client/documents/user.d.mts +148 -0
  475. package/src/client/documents/wall.d.mts +20 -0
  476. package/src/client/game.d.mts +231 -0
  477. package/src/client/global.d.mts +28 -0
  478. package/src/client/helpers/_module.d.mts +13 -0
  479. package/src/client/helpers/_types.d.mts +26 -0
  480. package/src/client/helpers/client-issues.d.mts +90 -0
  481. package/src/client/helpers/client-settings.d.mts +191 -0
  482. package/src/client/helpers/document-index.d.mts +81 -0
  483. package/src/client/helpers/hooks.d.mts +210 -0
  484. package/src/client/helpers/interaction/_module.d.mts +6 -0
  485. package/src/client/helpers/interaction/client-keybindings.d.mts +143 -0
  486. package/src/client/helpers/interaction/clipboard-helper.d.mts +14 -0
  487. package/src/client/helpers/interaction/gamepad-manager.d.mts +15 -0
  488. package/src/client/helpers/interaction/keyboard-manager.d.mts +189 -0
  489. package/src/client/helpers/interaction/mouse-manager.d.mts +20 -0
  490. package/src/client/helpers/interaction/tooltip-manager.d.mts +227 -0
  491. package/src/client/helpers/localization.d.mts +143 -0
  492. package/src/client/helpers/media/_module.d.mts +3 -0
  493. package/src/client/helpers/media/compendium-art.d.mts +29 -0
  494. package/src/client/helpers/media/image-helper.d.mts +116 -0
  495. package/src/client/helpers/media/video-helper.d.mts +113 -0
  496. package/src/client/helpers/socket-interface.d.mts +14 -0
  497. package/src/client/helpers/time.d.mts +92 -0
  498. package/src/client/helpers/workers.d.mts +92 -0
  499. package/src/client/nue/_module.d.mts +13 -0
  500. package/src/client/nue/nue-manager.d.mts +13 -0
  501. package/src/client/nue/tour.d.mts +283 -0
  502. package/src/client/nue/tours/_module.d.mts +1 -0
  503. package/src/client/nue/tours-collection.d.mts +23 -0
  504. package/src/client/packages/_module.d.mts +19 -0
  505. package/src/client/packages/_types.d.mts +12 -0
  506. package/src/client/packages/client-package.mts +145 -0
  507. package/src/client/packages/module.d.mts +12 -0
  508. package/src/client/packages/system.d.mts +9 -0
  509. package/src/client/packages/world.d.mts +28 -0
  510. package/src/client/ui.d.mts +86 -0
  511. package/src/client/utils/_module.d.mts +4 -0
  512. package/src/client/utils/helpers.d.mts +148 -0
  513. package/src/common/_types.d.mts +151 -0
  514. package/src/common/abstract/_module.d.mts +8 -0
  515. package/src/common/abstract/_types.d.mts +187 -0
  516. package/src/common/abstract/backend.d.mts +159 -0
  517. package/src/common/abstract/data.d.mts +213 -0
  518. package/src/common/abstract/document.d.mts +700 -0
  519. package/src/common/abstract/embedded-collection.d.mts +141 -0
  520. package/src/common/abstract/socket.d.mts +35 -0
  521. package/src/common/abstract/type-data.d.mts +163 -0
  522. package/src/common/config.d.mts +147 -0
  523. package/src/common/constants.d.mts +2184 -0
  524. package/src/common/data/_module.d.mts +6 -0
  525. package/src/common/data/_types.d.mts +329 -0
  526. package/src/common/data/data.d.mts +390 -0
  527. package/src/common/data/fields.d.mts +1377 -0
  528. package/src/common/data/validation-failure.d.mts +127 -0
  529. package/src/common/data/validators.d.mts +35 -0
  530. package/src/common/documents/_module.d.mts +64 -0
  531. package/src/common/documents/_types.d.mts +1 -0
  532. package/src/common/documents/active-effect.d.mts +87 -0
  533. package/src/common/documents/actor-delta.d.mts +81 -0
  534. package/src/common/documents/actor.d.mts +105 -0
  535. package/src/common/documents/adventure.d.mts +105 -0
  536. package/src/common/documents/ambient-light.d.mts +49 -0
  537. package/src/common/documents/ambient-sound.d.mts +72 -0
  538. package/src/common/documents/card.d.mts +98 -0
  539. package/src/common/documents/cards.d.mts +89 -0
  540. package/src/common/documents/chat-message.d.mts +107 -0
  541. package/src/common/documents/combat.d.mts +55 -0
  542. package/src/common/documents/combatant-group.d.mts +45 -0
  543. package/src/common/documents/combatant.d.mts +48 -0
  544. package/src/common/documents/drawing.d.mts +101 -0
  545. package/src/common/documents/fog-exploration.d.mts +50 -0
  546. package/src/common/documents/folder.d.mts +65 -0
  547. package/src/common/documents/item.d.mts +86 -0
  548. package/src/common/documents/journal-entry-category.d.mts +32 -0
  549. package/src/common/documents/journal-entry-page.d.mts +76 -0
  550. package/src/common/documents/journal-entry.d.mts +50 -0
  551. package/src/common/documents/macro.d.mts +87 -0
  552. package/src/common/documents/measured-template.d.mts +72 -0
  553. package/src/common/documents/note.d.mts +82 -0
  554. package/src/common/documents/playlist-sound.d.mts +53 -0
  555. package/src/common/documents/playlist.d.mts +48 -0
  556. package/src/common/documents/region-behavior.d.mts +49 -0
  557. package/src/common/documents/region.d.mts +61 -0
  558. package/src/common/documents/roll-table.d.mts +70 -0
  559. package/src/common/documents/scene.d.mts +237 -0
  560. package/src/common/documents/setting.d.mts +49 -0
  561. package/src/common/documents/table-result.d.mts +61 -0
  562. package/src/common/documents/tile.d.mts +88 -0
  563. package/src/common/documents/token.d.mts +213 -0
  564. package/src/common/documents/user.d.mts +82 -0
  565. package/src/common/documents/wall.d.mts +72 -0
  566. package/src/common/grid/_module.d.mts +6 -0
  567. package/src/common/grid/_types.d.mts +250 -0
  568. package/src/common/grid/base.d.mts +266 -0
  569. package/src/common/grid/grid-hex.d.mts +53 -0
  570. package/src/common/grid/gridless.d.mts +85 -0
  571. package/src/common/grid/hexagonal.d.mts +191 -0
  572. package/src/common/grid/square.d.mts +90 -0
  573. package/src/common/packages/_module.d.mts +6 -0
  574. package/src/common/packages/_types.d.mts +7 -0
  575. package/src/common/packages/base-module.d.mts +32 -0
  576. package/src/common/packages/base-package.d.mts +297 -0
  577. package/src/common/packages/base-system.d.mts +42 -0
  578. package/src/common/packages/base-world.d.mts +51 -0
  579. package/src/common/packages/sub-types.d.mts +12 -0
  580. package/src/common/primitives/_module.d.mts +10 -0
  581. package/src/common/primitives/array.d.mts +58 -0
  582. package/src/common/primitives/date.d.mts +24 -0
  583. package/src/common/primitives/math.d.mts +70 -0
  584. package/src/common/primitives/number.d.mts +79 -0
  585. package/src/common/primitives/regexp.d.mts +12 -0
  586. package/src/common/primitives/set.d.mts +129 -0
  587. package/src/common/primitives/string.d.mts +24 -0
  588. package/src/common/primitives/url.d.mts +12 -0
  589. package/src/common/prosemirror/_module.d.mts +77 -0
  590. package/src/common/prosemirror/_types.d.mts +75 -0
  591. package/src/common/prosemirror/click-handler.d.mts +24 -0
  592. package/src/common/prosemirror/content-link-plugin.d.mts +34 -0
  593. package/src/common/prosemirror/dirty-plugin.d.mts +10 -0
  594. package/src/common/prosemirror/dom-parser.d.mts +7 -0
  595. package/src/common/prosemirror/dropdown.d.mts +50 -0
  596. package/src/common/prosemirror/highlight-matches-plugin.d.mts +38 -0
  597. package/src/common/prosemirror/image-plugin.d.mts +70 -0
  598. package/src/common/prosemirror/input-rules.d.mts +24 -0
  599. package/src/common/prosemirror/keymaps.d.mts +27 -0
  600. package/src/common/prosemirror/menu.d.mts +206 -0
  601. package/src/common/prosemirror/paste-transformer.d.mts +10 -0
  602. package/src/common/prosemirror/plugin.d.mts +21 -0
  603. package/src/common/prosemirror/schema/_types.d.mts +15 -0
  604. package/src/common/prosemirror/schema/attribute-capture.d.mts +13 -0
  605. package/src/common/prosemirror/schema/core.d.mts +58 -0
  606. package/src/common/prosemirror/schema/image-link-node.d.mts +27 -0
  607. package/src/common/prosemirror/schema/image-node.d.mts +17 -0
  608. package/src/common/prosemirror/schema/link-mark.d.mts +29 -0
  609. package/src/common/prosemirror/schema/lists.d.mts +71 -0
  610. package/src/common/prosemirror/schema/marks.d.mts +49 -0
  611. package/src/common/prosemirror/schema/other.d.mts +161 -0
  612. package/src/common/prosemirror/schema/schema-definition.d.mts +43 -0
  613. package/src/common/prosemirror/schema/secret-node.d.mts +25 -0
  614. package/src/common/prosemirror/schema/tables.d.mts +161 -0
  615. package/src/common/prosemirror/schema/utils.d.mts +37 -0
  616. package/src/common/prosemirror/schema.d.mts +7 -0
  617. package/src/common/prosemirror/string-serializer.d.mts +84 -0
  618. package/src/common/prosemirror/util.d.mts +32 -0
  619. package/src/common/utils/_module.d.mts +19 -0
  620. package/src/common/utils/_types.d.mts +83 -0
  621. package/src/common/utils/bitmask.d.mts +122 -0
  622. package/src/common/utils/collection.d.mts +148 -0
  623. package/src/common/utils/color.d.mts +308 -0
  624. package/src/common/utils/event-emitter.d.mts +36 -0
  625. package/src/common/utils/geometry.d.mts +94 -0
  626. package/src/common/utils/helpers.d.mts +396 -0
  627. package/src/common/utils/http.d.mts +40 -0
  628. package/src/common/utils/iterable-weak-map.d.mts +26 -0
  629. package/src/common/utils/iterable-weak-set.d.mts +1 -0
  630. package/src/common/utils/logging.d.mts +25 -0
  631. package/src/common/utils/semaphore.d.mts +59 -0
  632. package/src/common/utils/string-tree.d.mts +60 -0
  633. package/src/common/utils/word-tree.d.mts +34 -0
  634. package/src/global-external.d.mts +48 -0
  635. package/src/index.d.ts +87 -0
  636. package/src/public/scripts/clipper.d.mts +920 -0
  637. package/src/tinymce-stub.d.mts +123 -0
  638. package/src/util.d.mts +67 -0
@@ -0,0 +1,920 @@
1
+ export {};
2
+
3
+ declare global {
4
+ namespace ClipperLib {
5
+ let version: "6.4.2.2";
6
+
7
+ /**
8
+ * Enables open path clipping. Adds a very minor cost to performance.
9
+ * @defaultValue `true`
10
+ */
11
+ let use_lines: boolean;
12
+
13
+ /**
14
+ * Adds a Z member to IntPoint. Adds a minor cost to performance.
15
+ * @defaultValue `false`
16
+ */
17
+ let use_xyz: boolean;
18
+
19
+ /** @defaultValue `null` */
20
+ let biginteger_used: 1 | null;
21
+
22
+ type Path = IntPoint[];
23
+ let Path: new () => Path;
24
+
25
+ type Paths = Path[];
26
+ let Paths: new () => Paths;
27
+
28
+ class DoublePoint {
29
+ constructor(dp: DoublePoint);
30
+ constructor(ip: IntPoint);
31
+ X: number;
32
+ Y: number;
33
+ }
34
+
35
+ class DoublePoint0 extends DoublePoint {
36
+ constructor();
37
+ }
38
+
39
+ class DoublePoint1 extends DoublePoint {
40
+ constructor(dp: DoublePoint);
41
+ }
42
+
43
+ class DoublePoint2 extends DoublePoint {
44
+ constructor(x: number, y: number);
45
+ }
46
+
47
+ class PolyNode {
48
+ /** @defaultValue `null` */
49
+ protected m_Parent: PolyNode | null;
50
+
51
+ protected m_polygon: Path;
52
+
53
+ /** @defaultValue `0` */
54
+ protected m_Index: number;
55
+
56
+ /** @defaultValue `0` */
57
+ protected m_jointype: JoinType;
58
+
59
+ /** @defaultValue `0` */
60
+ protected m_endtype: EndType;
61
+
62
+ /** @defaultValue `[]` */
63
+ protected m_Childs: PolyNode[];
64
+
65
+ /** @defaultValue `false` */
66
+ isOpen: boolean;
67
+
68
+ IsHoleNode(): boolean;
69
+
70
+ ChildCount(): number;
71
+
72
+ Contour(): Path;
73
+
74
+ AddChild(Child: PolyNode): void;
75
+
76
+ GetNext(): PolyNode | null;
77
+
78
+ Childs(): PolyNode[];
79
+
80
+ Parent(): PolyNode | null;
81
+
82
+ IsHole(): boolean;
83
+ }
84
+
85
+ class PolyTree extends PolyNode {
86
+ m_AllPolys: PolyNode[];
87
+
88
+ Clear(): void;
89
+
90
+ GetFirst(): PolyNode | null;
91
+
92
+ Total(): number;
93
+ }
94
+
95
+ function Math_Abs_Int64(a: number): number;
96
+
97
+ function Math_Abs_Int32(a: number): number;
98
+
99
+ function Math_Abs_Double(a: number): number;
100
+
101
+ function Math_Max_Int32_Int32(a: number, b: number): number;
102
+
103
+ function Cast_Int32(a: number): number;
104
+
105
+ function Cast_Int64(a: number): number;
106
+
107
+ function Clear(a: Array<unknown>): void;
108
+
109
+ let PI: number;
110
+ let PI2: number;
111
+
112
+ class IntPoint {
113
+ constructor(x: number, y: number, z?: number);
114
+ constructor(dp?: DoublePoint);
115
+
116
+ X: number;
117
+ Y: number;
118
+ Z?: number | undefined;
119
+
120
+ static op_Equality(a: IntPoint, b: IntPoint): boolean;
121
+
122
+ static op_Inequality(a: IntPoint, b: IntPoint): boolean;
123
+ }
124
+
125
+ class IntPoint0 extends IntPoint {
126
+ constructor();
127
+ }
128
+
129
+ class IntPoint1 extends IntPoint {
130
+ constructor(pt: IntPoint);
131
+ }
132
+
133
+ class IntPoint1dp extends IntPoint {
134
+ constructor(pt: DoublePoint);
135
+ }
136
+
137
+ class IntPoint2 extends IntPoint {
138
+ constructor(x: number, y: number, z?: number);
139
+ }
140
+
141
+ class IntRect {
142
+ constructor(l: number, t: number, r: number, b: number);
143
+ constructor(ir: IntRect);
144
+ constructor();
145
+
146
+ left: number;
147
+ top: number;
148
+ right: number;
149
+ bottom: number;
150
+ }
151
+
152
+ class IntRect0 extends IntRect {
153
+ constructor();
154
+ }
155
+
156
+ class IntRect1 extends IntRect {
157
+ constructor(ir: IntRect);
158
+ }
159
+
160
+ class IntRect4 extends IntRect {
161
+ constructor(l: number, t: number, r: number, b: number);
162
+ }
163
+
164
+ const ClipType: {
165
+ ctIntersection: 0;
166
+ ctUnion: 1;
167
+ ctDifference: 2;
168
+ ctXor: 3;
169
+ };
170
+ type ClipType = (typeof ClipType)[keyof typeof ClipType];
171
+
172
+ const PolyType: {
173
+ ptSubject: 0;
174
+ ptClip: 1;
175
+ };
176
+ type PolyType = (typeof PolyType)[keyof typeof PolyType];
177
+
178
+ const PolyFillType: {
179
+ pftEvenOdd: 0;
180
+ pftNonZero: 1;
181
+ pftPositive: 2;
182
+ pftNegative: 3;
183
+ };
184
+ type PolyFillType = (typeof PolyFillType)[keyof typeof PolyFillType];
185
+
186
+ const JoinType: {
187
+ jtSquare: 0;
188
+ jtRound: 1;
189
+ jtMiter: 2;
190
+ };
191
+ type JoinType = (typeof JoinType)[keyof typeof JoinType];
192
+
193
+ const EndType: {
194
+ etOpenSquare: 0;
195
+ etOpenRound: 1;
196
+ etOpenButt: 2;
197
+ etClosedLine: 3;
198
+ etClosedPolygon: 4;
199
+ };
200
+ type EndType = (typeof EndType)[keyof typeof EndType];
201
+
202
+ const EdgeSide: {
203
+ esLeft: 0;
204
+ esRight: 1;
205
+ };
206
+ type EdgeSide = (typeof EdgeSide)[keyof typeof EdgeSide];
207
+
208
+ const Direction: {
209
+ dRightToLeft: 0;
210
+ dLeftToRight: 1;
211
+ };
212
+ type Direction = (typeof Direction)[keyof typeof Direction];
213
+
214
+ class TEdge {
215
+ Bot: IntPoint;
216
+
217
+ /** current (updated for every new scanbeam) */
218
+ Curr: IntPoint;
219
+ Top: IntPoint;
220
+ Delta: IntPoint;
221
+
222
+ /** @defaultValue `0` */
223
+ Dx: number;
224
+
225
+ /** @defaultValue `PolyType.ptSubject` */
226
+ PolyTyp: PolyType;
227
+
228
+ /**
229
+ * side only refers to current side of solution poly
230
+ * @defaultValue `ClipperLib.EdgeSide.esLeft`
231
+ */
232
+ Side: EdgeSide;
233
+
234
+ /**
235
+ * 1 or -1 depending on winding direction
236
+ * @defaultValue `0`
237
+ */
238
+ WindDelta: 0 | 1 | -1;
239
+
240
+ /** @defaultValue `0` */
241
+ WindCnt: number;
242
+
243
+ /**
244
+ * winding count of the opposite polytype
245
+ * @defaultValue `0`
246
+ */
247
+ WindCnt2: number;
248
+
249
+ /** @defaultValue `0` */
250
+ OutIdx: number;
251
+
252
+ /** @defaultValue `null` */
253
+ Next: TEdge | null;
254
+
255
+ /** @defaultValue `null` */
256
+ Prev: TEdge | null;
257
+
258
+ /** @defaultValue `null` */
259
+ NextInLML: TEdge | null;
260
+
261
+ /** @defaultValue `null` */
262
+ NextInAEL: TEdge | null;
263
+
264
+ /** @defaultValue `null` */
265
+ PrevInAEL: TEdge | null;
266
+
267
+ /** @defaultValue `null` */
268
+ NextInSEL: TEdge | null;
269
+
270
+ /** @defaultValue `null` */
271
+ PrevInSEL: TEdge | null;
272
+ }
273
+
274
+ class IntersectNode {
275
+ /** @defaultValue `null` */
276
+ Edge1: TEdge | null;
277
+
278
+ /** @defaultValue `null` */
279
+ Edge2: TEdge | null;
280
+
281
+ Pt: IntPoint;
282
+ }
283
+
284
+ class MyIntersectNodeSort {
285
+ static Compare(node1: IntersectNode, node2: IntersectNode): 0 | 1 | -1;
286
+ }
287
+
288
+ class LocalMinima {
289
+ /** @defaultValue `0` */
290
+ Y: number;
291
+
292
+ /** @defaultValue `null` */
293
+ LeftBound: TEdge | null;
294
+
295
+ /** @defaultValue `null` */
296
+ RightBound: TEdge | null;
297
+
298
+ /** @defaultValue `null` */
299
+ Next: LocalMinima | null;
300
+ }
301
+
302
+ class Scanbeam {
303
+ /** @defaultValue `0` */
304
+ Y: number;
305
+
306
+ /** @defaultValue `null` */
307
+ Next: Scanbeam | null;
308
+ }
309
+
310
+ class Maxima {
311
+ /** @defaultValue `0` */
312
+ X: number;
313
+
314
+ /** @defaultValue `null` */
315
+ Next: Maxima | null;
316
+
317
+ /** @defaultValue `null` */
318
+ Pref: Maxima | null;
319
+ }
320
+
321
+ /**
322
+ * contains a path in the clipping solution. Edges in the AEL will
323
+ * carry a pointer to an OutRec when they are part of the clipping solution.
324
+ */
325
+ class OutRec {
326
+ /** @defaultValue `0` */
327
+ Idx: number;
328
+
329
+ /** @defaultValue `false` */
330
+ IsHole: boolean;
331
+
332
+ /** @defaultValue `false` */
333
+ IsOpen: boolean;
334
+
335
+ /** @defaultValue `null` */
336
+ FirstLeft: OutRec | null;
337
+
338
+ /** @defaultValue `null` */
339
+ Pts: OutPt | null;
340
+
341
+ /** @defaultValue `null` */
342
+ BottomPt: OutPt | null;
343
+
344
+ /** @defaultValue `null` */
345
+ PolyNode: PolyNode | null;
346
+ }
347
+
348
+ class OutPt {
349
+ /** @defaultValue `0` */
350
+ Idx: number;
351
+
352
+ Pt: IntPoint;
353
+
354
+ /** @defaultValue `null` */
355
+ Next: OutPt | null;
356
+
357
+ /** @defaultValue `null` */
358
+ Prev: OutPt | null;
359
+ }
360
+
361
+ class Join {
362
+ /** @defaultValue `null` */
363
+ OutPt1: OutPt | null;
364
+
365
+ /** @defaultValue `null` */
366
+ OutPt2: OutPt | null;
367
+
368
+ OffPt: IntPoint;
369
+ }
370
+
371
+ class ClipperBase {
372
+ /** @defaultValue `null` */
373
+ protected m_MinimaList: LocalMinima | null;
374
+
375
+ /** @defaultValue `null` */
376
+ protected m_CurrentLM: LocalMinima | null;
377
+
378
+ protected m_edges: TEdge[];
379
+
380
+ /** @defaultValue `false` */
381
+ protected m_UseFullRange: boolean;
382
+
383
+ /** @defaultValue `false` */
384
+ protected m_HasOpenPaths: boolean;
385
+
386
+ /** @defaultValue `false` */
387
+ PreserveCollinear: boolean;
388
+
389
+ /** @defaultValue `null` */
390
+ protected m_Scanbeam: Scanbeam | null;
391
+
392
+ /** @defaultValue `null` */
393
+ protected m_PolyOuts: unknown;
394
+
395
+ /** @defaultValue `null` */
396
+ protected m_ActiveEdges: unknown;
397
+
398
+ /**
399
+ * -2^53
400
+ * @defaultValue `-9007199254740992`
401
+ */
402
+ static horizontal: number;
403
+
404
+ /** @defaultValue `-2` */
405
+ static Skip: number;
406
+
407
+ /** @defaultValue `-1` */
408
+ static Unassigned: number;
409
+
410
+ /** @defaultValue `1E-20` */
411
+ static tolerance: number;
412
+
413
+ /**
414
+ * sqrt(2^53 -1)/2
415
+ * @defaultValue `47453132`
416
+ */
417
+ static loRange: number;
418
+
419
+ /**
420
+ * sqrt(2^106 -1)/2
421
+ * @defaultValue `4503599627370495`
422
+ */
423
+ static hiRange: number;
424
+
425
+ static near_zero(val: number): boolean;
426
+
427
+ static IsHorizontal(e: TEdge): boolean;
428
+
429
+ PointIsVertex(pt: IntPoint, pp: OutPt): boolean;
430
+
431
+ PointOnLineSegment(pt: IntPoint, linePt1: IntPoint, linePt2: IntPoint, UseFullRange: boolean): boolean;
432
+
433
+ PointOnPolygon(pt: IntPoint, pp: OutPt, UseFullRange: boolean): boolean;
434
+
435
+ static SlopesEqual(e1: TEdge, e2: TEdge, UseFullRange: boolean): boolean;
436
+ static SlopesEqual(pt1: IntPoint, pt2: IntPoint, pt3: IntPoint, UseFullRange: boolean): boolean;
437
+ static SlopesEqual(pt1: IntPoint, pt2: IntPoint, pt3: IntPoint, pt4: IntPoint, UseFullRange: boolean): boolean;
438
+ SlopesEqual: typeof ClipperBase.SlopesEqual;
439
+
440
+ static SlopesEqual3(e1: TEdge, e2: TEdge, UseFullRange: boolean): boolean;
441
+
442
+ static SlopesEqual4(pt1: IntPoint, pt2: IntPoint, pt3: IntPoint, UseFullRange: boolean): boolean;
443
+
444
+ static SlopesEqual5(pt1: IntPoint, pt2: IntPoint, pt3: IntPoint, pt4: IntPoint, UseFullRange: boolean): boolean;
445
+
446
+ Clear(): void;
447
+
448
+ DisposeLocalMinimaList(): void;
449
+
450
+ RangeTest(Pt: IntPoint, useFullRange: { Value: boolean }): void;
451
+
452
+ InitEdge(e: TEdge, eNext: TEdge | null, ePrev: TEdge | null, pt: IntPoint): void;
453
+
454
+ InitEdge2(e: TEdge, polyType: PolyType): void;
455
+
456
+ FindNextLocMin(E: TEdge): TEdge | null;
457
+
458
+ ProcessBound(E: TEdge, LeftBoundIsForward: boolean): TEdge;
459
+
460
+ AddPath(pg: Path, polyType: PolyType, CLoses: boolean): boolean;
461
+
462
+ AddPaths(ppg: Paths, polyType: PolyType, CLoses: boolean): boolean;
463
+
464
+ Pt2IsBetweenPt1AndPt3(pt1: IntPoint, pt2: IntPoint, pt3: IntPoint): boolean;
465
+
466
+ RemoveEdge(e: TEdge): TEdge | null;
467
+
468
+ SetDx(e: TEdge): void;
469
+
470
+ InsertLocalMinima(newLm: LocalMinima): void;
471
+
472
+ PopLocalMinima(Y: number, current: { v?: LocalMinima | null }): boolean;
473
+
474
+ ReverseHorizontal(e: TEdge): void;
475
+
476
+ Reset(): void;
477
+
478
+ InsertScanbeam(Y: number): void;
479
+
480
+ PopScanbeam(Y: { v?: number }): boolean;
481
+
482
+ LocalMinimaPending(): boolean;
483
+
484
+ CreateOutRec(): OutRec;
485
+
486
+ DisposeOutRec(index: number): void;
487
+
488
+ UpdateEdgeIntoAEL(e: TEdge): void;
489
+
490
+ SwapPositionsInAEL(edge1: TEdge, edge2: TEdge): void;
491
+
492
+ DeleteFromAEL(e: TEdge): void;
493
+ }
494
+
495
+ class Clipper extends ClipperBase {
496
+ constructor(
497
+ /**
498
+ * @defaultValue `0`
499
+ * @remarks Bitmask options:
500
+ * - `ReverseSolution`: `0b0000001`
501
+ * - `StrictlySimple`: `0b0000010`
502
+ * - `PreserveColinear`: `0b0000100`
503
+ */
504
+ InitOptions?: number | null,
505
+ );
506
+
507
+ /** @defaultValue `[]` */
508
+ protected m_PolyOuts: OutRec[];
509
+
510
+ /** @defaultValue `ClipperLib.ClipType.ctIntersection` */
511
+ protected m_ClipType: ClipType;
512
+
513
+ /** @defaultValue `null` */
514
+ protected m_Scanbeam: Scanbeam | null;
515
+
516
+ /** @defaultValue `null` */
517
+ protected m_Maxima: Maxima | null;
518
+
519
+ /** @defaultValue `null` */
520
+ protected m_ActiveEdges: TEdge | null;
521
+
522
+ /** @defaultValue `null` */
523
+ protected m_SortedEdges: TEdge | null;
524
+
525
+ /** @defaultValue `[]` */
526
+ protected m_IntersectList: IntersectNode[];
527
+
528
+ /** @defaultValue `ClipperLib.MyIntersectNodeSort.Compare` */
529
+ protected m_IntersectNodeComparer: (node1: IntersectNode, node2: IntersectNode) => 0 | 1 | -1;
530
+
531
+ /** @defaultValue `false` */
532
+ protected m_ExecuteLocked: boolean;
533
+
534
+ /** @defaultValue `ClipperLib.PolyFillType.pftEvenOdd` */
535
+ protected m_ClipFillType: PolyFillType;
536
+
537
+ /** @defaultValue `ClipperLib.PolyFillType.pftEvenOdd` */
538
+ protected m_SubjFillType: PolyFillType;
539
+
540
+ /** @defaultValue `[]` */
541
+ protected m_Joins: Join[];
542
+
543
+ /** @defaultValue `[]` */
544
+ protected m_GhostJoins: Join[];
545
+
546
+ /** @defaultValue `false` */
547
+ protected m_UsingPolyTree: boolean;
548
+
549
+ /** @defaultValue `false` */
550
+ ReverseSolution: boolean;
551
+
552
+ /** @defaultValue `false` */
553
+ StrictlySimple: boolean;
554
+
555
+ /** @defaultValue `false` */
556
+ PreserveCollinear: boolean;
557
+
558
+ ZFillFunction?: ((e1bot: IntPoint, e1top: IntPoint, e2bot: IntPoint, e2top: IntPoint, pt: IntPoint) => void) | null;
559
+
560
+ static ioReverseSolution: 1;
561
+ static ioStrictlySimple: 2;
562
+ static ioPreserveCollinear: 4;
563
+
564
+ Clear(): void;
565
+
566
+ InsertMaxima(X: number): void;
567
+
568
+ Execute(clipType: ClipType, solution: Paths, subjFillType: PolyFillType, clipFillType: PolyFillType): boolean;
569
+ Execute(clipType: ClipType, polytree: PolyTree, subjFillType: PolyFillType, clipFillType: PolyFillType): boolean;
570
+ Execute(clipType: ClipType, solution: Paths): boolean;
571
+ Execute(clipType: ClipType, polytree: PolyTree): boolean;
572
+
573
+ FixHoleLinkage(outRec: OutRec): void;
574
+
575
+ ExecuteInternal(): boolean;
576
+
577
+ DisposeAllPolyPts(): void;
578
+
579
+ AddJoin(Op1: OutPt, Op2: OutPt, OffPt: IntPoint): void;
580
+
581
+ AddGhostJoin(Op: OutPt, Offpt: IntPoint): void;
582
+
583
+ SetZ(pt: IntPoint, e1: TEdge, e2: TEdge): void;
584
+
585
+ InsertLocalMinimaIntoAEL(botY: number): void;
586
+
587
+ InsertEdgeIntoAEL(edge: TEdge, startEdge: TEdge): void;
588
+
589
+ E2InsertsBeforeE1(e1: TEdge, e2: TEdge): boolean;
590
+
591
+ IsEvenOddFillType(edge: TEdge): boolean;
592
+
593
+ IsEvenOddAltFillType(edge: TEdge): boolean;
594
+
595
+ IsContributing(edge: TEdge): boolean;
596
+
597
+ SetWindingCount(edge: TEdge): void;
598
+
599
+ AddEdgeToSEL(edge: TEdge): void;
600
+
601
+ PopEdgeFromSEL(e: { v?: TEdge | null }): boolean;
602
+
603
+ CopyAELToSEL(): void;
604
+
605
+ SwapPositionsInSEL(edge1: TEdge, edge2: TEdge): void;
606
+
607
+ AddLocalMaxPoly(e1: TEdge, e2: TEdge, pt: IntPoint): void;
608
+
609
+ AddLocalMinPoly(e1: TEdge, e2: TEdge, pt: IntPoint): OutPt;
610
+
611
+ AddOutPt(e: TEdge, pt: OutPt): OutPt;
612
+
613
+ GetLastOutPt(e: TEdge): OutPt;
614
+
615
+ SwapPoints(pt1: IntPoint, pt2: IntPoint): void;
616
+
617
+ HorzSegmentsOverlap(seg1a: number, seg1b: number, seg2a: number, seg2b: number): number;
618
+
619
+ SetHoleState(e: TEdge, outRec: OutRec): void;
620
+
621
+ GetDx(pt1: IntPoint, pt2: IntPoint): number;
622
+
623
+ FirstIsBottomPt(btmPt1: OutPt, btmPt2: OutPt): boolean;
624
+
625
+ GetBottomPt(pp: OutPt): OutPt;
626
+
627
+ GetLowermostRec(outRec1: OutRec, outRec2: OutRec): OutRec;
628
+
629
+ OutRec1RightOfOutRec2(outRec1: OutRec, outRec2: OutRec): boolean;
630
+
631
+ GetOutRec(idx: number): OutRec | undefined;
632
+
633
+ AppendPolygon(e1: TEdge, e2: TEdge): void;
634
+
635
+ ReversePolyPtLinks(pp: OutPt): void;
636
+
637
+ static SwapSides(edge1: TEdge, edge2: TEdge): void;
638
+
639
+ static SwapPolyIndexes(edge1: TEdge, edge2: TEdge): void;
640
+
641
+ IntersectEdges(e1: TEdge, e2: TEdge, pt: IntPoint): void;
642
+
643
+ DeleteFromSEL(e: TEdge): void;
644
+
645
+ ProcessHorizontals(): void;
646
+
647
+ GetHorzDirection(HorzEdge: TEdge, $val: { Left?: number | undefined; Right?: number | undefined; Dir?: Direction }): void;
648
+
649
+ ProcessHorizontal(horzEdge: TEdge): void;
650
+
651
+ GetNextInAEL(e: TEdge, Direction: Direction): TEdge | null;
652
+
653
+ IsMinima(e: TEdge | null): boolean;
654
+
655
+ IsMaxima(e: TEdge | null, Y: number): boolean;
656
+
657
+ IsIntermediate(e: TEdge, Y: number): boolean;
658
+
659
+ GetMaximaPair(e: TEdge): TEdge | null;
660
+
661
+ GetMaximaPairEx(e: TEdge): TEdge | null;
662
+
663
+ ProcessIntersections(topY: number): boolean;
664
+
665
+ BuildIntersectList(topY: number): void;
666
+
667
+ EdgesAdjacent(inode: IntersectNode): boolean;
668
+
669
+ static IntersectNodeSort(node1: IntersectNode, node2: IntersectNode): number;
670
+
671
+ FixupIntersectionOrder(): boolean;
672
+
673
+ ProcessIntersectList(): void;
674
+
675
+ static Round(a: number): number;
676
+
677
+ static TopX(edge: TEdge, currentY: number): number;
678
+
679
+ IntersectPoint(edge1: TEdge, edge2: TEdge, ip: IntPoint): void;
680
+
681
+ ProcessEdgesAtTopOfScanbeam(topY: number): void;
682
+
683
+ DoMaxima(e: TEdge): void;
684
+
685
+ static ReversePaths(polys: Paths): void;
686
+
687
+ static Orientation(poly: Path): boolean;
688
+
689
+ PointCount(pts: OutPt | null): number;
690
+
691
+ BuildResult(polyg: Paths): void;
692
+
693
+ BuildResult2(polytree: PolyTree): void;
694
+
695
+ FixupOutPolyline(outRec: OutRec): void;
696
+
697
+ FixupOutPolygon(outRec: OutRec): void;
698
+
699
+ DupOutPt(outPt: OutPt, InsertAfter: boolean): OutPt;
700
+
701
+ GetOverlap(a1: IntPoint, a2: IntPoint, b1: IntPoint, b2: IntPoint, $val: { Left?: number | undefined; Right?: number | undefined }): boolean;
702
+
703
+ JoinHorz(op1: OutPt, op1b: OutPt, op2: OutPt, op2b: OutPt, pt: IntPoint, DiscardLeft: boolean): boolean;
704
+
705
+ JoinPoints(j: Join, outRec1: OutRec, outRec2: OutRec): boolean;
706
+
707
+ static GetBounds(paths: Paths): IntRect;
708
+
709
+ GetBounds2(ops: OutPt): IntRect;
710
+
711
+ /**
712
+ * @returns 0 if false, +1 if true, -1 if pt ON polygon boundary
713
+ */
714
+ static PointInPolygon(pt: IntPoint, path: Path): 0 | 1 | -1;
715
+
716
+ /**
717
+ * @returns 0 if false, +1 if true, -1 if pt ON polygon boundary
718
+ */
719
+ PointInPolygon(pt: IntPoint, op: OutPt): 0 | 1 | -1;
720
+
721
+ Poly2ContainsPoly1(outPt1: OutPt, outPt2: OutPt): boolean;
722
+
723
+ FixupFirstLefts1(OldOutRec: OutRec, NewOutRec: OutRec): void;
724
+
725
+ FixupFirstLefts2(innerOutRec: OutRec, outerOutRec: OutRec): void;
726
+
727
+ FixupFirstLefts3(OldOutRec: OutRec, NewOutRec: OutRec): void;
728
+
729
+ static ParseFirstLeft(FirstLeft: OutRec | null): OutRec | null;
730
+
731
+ JoinCommonEdges(): void;
732
+
733
+ UpdateOutPtIdxs(outrec: OutRec): void;
734
+
735
+ DoSimplePolygons(): void;
736
+
737
+ static Area(poly: Path): number;
738
+
739
+ Area(op: OutPt | null): number;
740
+
741
+ Area$1(outRec: OutRec): number;
742
+
743
+ static SimplifyPolygon(poly: Path, fillType: PolyFillType): void;
744
+
745
+ static SimplifyPolygons(polys: Paths, fillType: PolyFillType): void;
746
+
747
+ static DistanceSqrd(pt1: IntPoint, pt2: IntPoint): number;
748
+
749
+ static DistanceFromLineSqrd(pt: IntPoint, ln1: IntPoint, ln2: IntPoint): number;
750
+
751
+ static SlopesNearCollinear(pt1: IntPoint, pt2: IntPoint, pt3: IntPoint, distSqrd: number): boolean;
752
+
753
+ static PointsAreClose(pt1: IntPoint, pt2: IntPoint, distSqrd: number): boolean;
754
+
755
+ static ExcludeOp(op: OutPt): OutPt;
756
+
757
+ static CleanPolygon(path: Path, distance?: number): Path;
758
+
759
+ static CleanPolygons(polys: Paths, distance?: number): Paths;
760
+
761
+ static Minkowski(pattern: Path, path: Path, IsSum: boolean, IsClosed: boolean): Paths;
762
+
763
+ static MinkowskiSum(pattern: Path, path_or_paths: Path | Paths, pathIsClosed: boolean): Paths;
764
+
765
+ static TranslatePath(path: Path, delta: IntPoint): Path;
766
+
767
+ static MinkowskiDiff(poly1: Path, poly2: Path): Paths;
768
+
769
+ static PolyTreeToPaths(polytree: PolyTree): Paths;
770
+
771
+ static AddPolyNodeToPaths(polynode: PolyNode, nt: (typeof Clipper.NodeType)[keyof typeof Clipper.NodeType], paths: Paths): void;
772
+
773
+ static OpenPathsFromPolyTree(polytree: PolyTree): Paths;
774
+
775
+ ClosedPathsFromPolyTree(polytree: PolyTree): Paths;
776
+
777
+ static NodeType: {
778
+ ntAny: 0;
779
+ ntOpen: 1;
780
+ ntClosed: 2;
781
+ };
782
+ }
783
+
784
+ class ClipperOffset {
785
+ constructor(miterLimit?: number, arcTolerance?: number);
786
+
787
+ protected m_destPolys: Paths;
788
+
789
+ protected m_srcPoly: Path;
790
+
791
+ protected m_destPoly: Path;
792
+
793
+ protected m_normals: DoublePoint[];
794
+
795
+ /** @defaultValue `0` */
796
+ protected m_delta: number;
797
+
798
+ /** @defaultValue `0` */
799
+ protected m_sinA: number;
800
+
801
+ /** @defaultValue `0` */
802
+ protected m_sin: number;
803
+
804
+ /** @defaultValue `0` */
805
+ protected m_cos: number;
806
+
807
+ /** @defaultValue `0` */
808
+ protected m_miterLim: number;
809
+
810
+ /** @defaultValue `0` */
811
+ protected m_StepsPerRad: number;
812
+
813
+ protected m_lowest: IntPoint;
814
+
815
+ protected m_polyNodes: PolyNode;
816
+
817
+ /** @defaultValue `2` */
818
+ MiterLimit: number;
819
+
820
+ /** @defaultValue `ClipperLib.ClipperOffset.def_arc_tolerance` */
821
+ ArcTolerance: number;
822
+
823
+ /** @defaultValue `6.28318530717959` */
824
+ static two_pi: number;
825
+
826
+ /** @defaultValue `0.25` */
827
+ static def_arc_tolerance: number;
828
+
829
+ Clear(): void;
830
+
831
+ static Round: typeof Clipper.Round;
832
+
833
+ AddPath(path: Path, joinType: JoinType, endType: EndType): void;
834
+
835
+ AddPaths(paths: Paths, joinType: JoinType, endType: EndType): void;
836
+
837
+ FixOrientations(): void;
838
+
839
+ static GetUnitNormal(pt1: IntPoint, pt2: IntPoint): DoublePoint;
840
+
841
+ DoOffset(delta: number): void;
842
+
843
+ Execute(solution: Paths, delta: number): void;
844
+ Execute(solution: PolyTree, delta: number): void;
845
+
846
+ OffsetPoint(j: number, k: number, jointype: JoinType): void;
847
+
848
+ DoSquare(j: number, k: number): void;
849
+
850
+ DoMiter(j: number, k: number, r: number): void;
851
+
852
+ DoRound(j: number, k: number): void;
853
+ }
854
+
855
+ function Error(message: string): void;
856
+
857
+ let JS: JS;
858
+ interface JS {
859
+ AreaOfPolygon(poly: Path, scale?: number): number;
860
+
861
+ AreaOfPolygons(poly: Paths, scale?: number): number;
862
+
863
+ BoundsOfPath(path: Path, scale?: number): IntRect;
864
+
865
+ BoundsOfPaths(paths: Paths, scale?: number): IntRect;
866
+
867
+ /**
868
+ * Clean() joins vertices that are too near each other
869
+ * and causes distortion to offsetted polygons without cleaning
870
+ */
871
+ Clean(polygon: Path, delta: number): Path;
872
+ Clean(polygons: Paths, delta: number): Paths;
873
+
874
+ /**
875
+ * Make deep copy of Polygons or Polygon
876
+ * so that also IntPoint objects are cloned and not only referenced
877
+ * This should be the fastest way
878
+ */
879
+ Clone(polygon: Path): Path;
880
+ Clone(polygons: Paths): Paths;
881
+
882
+ /**
883
+ * Removes points that doesn't affect much to the visual appearance.
884
+ * If middle point is at or under certain distance (tolerance) of the line segment between
885
+ * start and end point, the middle point is removed.
886
+ */
887
+ Lighten(polygon: Path, tolerance: number): Path;
888
+ Lighten(polygons: Paths, tolerance: number): Paths;
889
+
890
+ PerimeterOfPath(path: Path, closed: boolean, scale: number): number;
891
+
892
+ PerimeterOfPaths(paths: Paths, closed: boolean, scale?: number): number;
893
+
894
+ ScaleDownPath(path: Path, scale?: number): void;
895
+
896
+ ScaleDownPaths(paths: Paths, scale?: number): void;
897
+
898
+ ScaleUpPath(path: Path, scale?: number): void;
899
+
900
+ ScaleUpPaths(paths: Paths, scale?: number): void;
901
+
902
+ AddOuterPolyNodeToExPolygons(polynode: PolyNode, expolygons: ExPolygons): void;
903
+
904
+ ExPolygonsToPaths(expolygons: ExPolygons): Paths;
905
+
906
+ PolyTreeToExPolygons(polytree: PolyTree): ExPolygons;
907
+ }
908
+
909
+ type ExPolygons = ExPolygon[];
910
+ let ExPolygons: new () => ExPolygons;
911
+
912
+ class ExPolygon {
913
+ /** @defaultValue `null` */
914
+ outer: Path | null;
915
+
916
+ /** @defaultValue `null` */
917
+ holes: Paths | null;
918
+ }
919
+ }
920
+ }