@tlua/gmod 1.0.1

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 (278) hide show
  1. package/README.md +28 -0
  2. package/__metadata.json +4 -0
  3. package/_globals.d.tlua +178 -0
  4. package/_gmod-std.d.tlua +35 -0
  5. package/achievementicon.d.tlua +12 -0
  6. package/achievements.d.tlua +162 -0
  7. package/ai.d.tlua +65 -0
  8. package/ai_schedule.d.tlua +17 -0
  9. package/ai_task.d.tlua +17 -0
  10. package/angle.d.tlua +197 -0
  11. package/avatarimage.d.tlua +10 -0
  12. package/awesomium.d.tlua +14 -0
  13. package/baseclass.d.tlua +42 -0
  14. package/bf_read.d.tlua +110 -0
  15. package/bit.d.tlua +121 -0
  16. package/button.d.tlua +13 -0
  17. package/cam.d.tlua +220 -0
  18. package/ceffectdata.d.tlua +337 -0
  19. package/chat.d.tlua +62 -0
  20. package/checkbutton.d.tlua +14 -0
  21. package/cleanup.d.tlua +88 -0
  22. package/cluaemitter.d.tlua +119 -0
  23. package/clualocomotion.d.tlua +383 -0
  24. package/cluaparticle.d.tlua +426 -0
  25. package/cmovedata.d.tlua +476 -0
  26. package/cnavarea.d.tlua +845 -0
  27. package/cnavladder.d.tlua +209 -0
  28. package/cnewparticleeffect.d.tlua +259 -0
  29. package/color.d.tlua +339 -0
  30. package/concommand.d.tlua +69 -0
  31. package/constraint.d.tlua +311 -0
  32. package/construct.d.tlua +26 -0
  33. package/contentheader.d.tlua +32 -0
  34. package/contenticon.d.tlua +86 -0
  35. package/contentsidebar.d.tlua +45 -0
  36. package/contentsidebartoolbox.d.tlua +13 -0
  37. package/contextbase.d.tlua +37 -0
  38. package/controlpanel.d.tlua +140 -0
  39. package/controlpresets.d.tlua +118 -0
  40. package/convar.d.tlua +162 -0
  41. package/cookie.d.tlua +60 -0
  42. package/coroutine.d.tlua +90 -0
  43. package/crecipientfilter.d.tlua +152 -0
  44. package/csent.d.tlua +10 -0
  45. package/csoundpatch.d.tlua +150 -0
  46. package/ctakedamageinfo.d.tlua +366 -0
  47. package/ctrllistbox.d.tlua +12 -0
  48. package/ctrlnumpad.d.tlua +73 -0
  49. package/cusercmd.d.tlua +320 -0
  50. package/custom_classes.d.tlua +65 -0
  51. package/custom_entity_fields.d.tlua +96 -0
  52. package/cvars.d.tlua +80 -0
  53. package/dadjustablemodelpanel.d.tlua +81 -0
  54. package/dalphabar.d.tlua +27 -0
  55. package/dbinder.d.tlua +37 -0
  56. package/dbubblecontainer.d.tlua +18 -0
  57. package/dbutton.d.tlua +88 -0
  58. package/dcategoryheader.d.tlua +13 -0
  59. package/dcategorylist.d.tlua +11 -0
  60. package/dcheckbox.d.tlua +46 -0
  61. package/dcheckboxlabel.d.tlua +90 -0
  62. package/dcollapsiblecategory.d.tlua +240 -0
  63. package/dcolorbutton.d.tlua +73 -0
  64. package/dcolorcombo.d.tlua +54 -0
  65. package/dcolorcube.d.tlua +137 -0
  66. package/dcolormixer.d.tlua +303 -0
  67. package/dcolorpalette.d.tlua +294 -0
  68. package/dcolumnsheet.d.tlua +49 -0
  69. package/dcombobox.d.tlua +161 -0
  70. package/ddragbase.d.tlua +151 -0
  71. package/ddrawer.d.tlua +72 -0
  72. package/debug.d.tlua +236 -0
  73. package/debugoverlay.d.tlua +193 -0
  74. package/dentityproperties.d.tlua +63 -0
  75. package/derma.d.tlua +119 -0
  76. package/dexpandbutton.d.tlua +30 -0
  77. package/dfilebrowser.d.tlua +228 -0
  78. package/dform.d.tlua +176 -0
  79. package/dframe.d.tlua +261 -0
  80. package/dgrid.d.tlua +113 -0
  81. package/dhorizontaldivider.d.tlua +196 -0
  82. package/dhorizontalscroller.d.tlua +104 -0
  83. package/dhscrollbar.d.tlua +109 -0
  84. package/dhtml.d.tlua +91 -0
  85. package/dhtmlcontrols.d.tlua +62 -0
  86. package/diconbrowser.d.tlua +113 -0
  87. package/diconlayout.d.tlua +190 -0
  88. package/dimage.d.tlua +221 -0
  89. package/dimagebutton.d.tlua +103 -0
  90. package/dkillicon.d.tlua +9 -0
  91. package/dlabel.d.tlua +385 -0
  92. package/dlabeleditable.d.tlua +51 -0
  93. package/dlabelurl.d.tlua +100 -0
  94. package/dlistbox.d.tlua +82 -0
  95. package/dlistboxitem.d.tlua +42 -0
  96. package/dlistlayout.d.tlua +14 -0
  97. package/dlistview.d.tlua +360 -0
  98. package/dlistview_column.d.tlua +135 -0
  99. package/dlistview_columnplain.d.tlua +11 -0
  100. package/dlistview_draggerbar.d.tlua +11 -0
  101. package/dlistview_line.d.tlua +140 -0
  102. package/dlistviewheaderlabel.d.tlua +11 -0
  103. package/dlistviewlabel.d.tlua +11 -0
  104. package/dlistviewline.d.tlua +11 -0
  105. package/dmenu.d.tlua +266 -0
  106. package/dmenubar.d.tlua +42 -0
  107. package/dmenuoption.d.tlua +135 -0
  108. package/dmenuoptioncvar.d.tlua +64 -0
  109. package/dmodelpanel.d.tlua +207 -0
  110. package/dmodelselect.d.tlua +20 -0
  111. package/dmodelselectmulti.d.tlua +19 -0
  112. package/dnotify.d.tlua +93 -0
  113. package/dnumberscratch.d.tlua +284 -0
  114. package/dnumberwang.d.tlua +147 -0
  115. package/dnumpad.d.tlua +11 -0
  116. package/dnumslider.d.tlua +182 -0
  117. package/dpanel.d.tlua +152 -0
  118. package/dpanellist.d.tlua +109 -0
  119. package/dpaneloverlay.d.tlua +65 -0
  120. package/dpanelselect.d.tlua +13 -0
  121. package/dpanpanel.d.tlua +64 -0
  122. package/dprogress.d.tlua +27 -0
  123. package/dproperties.d.tlua +52 -0
  124. package/dproperty_boolean.d.tlua +12 -0
  125. package/dproperty_combo.d.tlua +31 -0
  126. package/dproperty_entity.d.tlua +12 -0
  127. package/dproperty_float.d.tlua +12 -0
  128. package/dproperty_generic.d.tlua +50 -0
  129. package/dproperty_int.d.tlua +12 -0
  130. package/dproperty_vectorcolor.d.tlua +14 -0
  131. package/dpropertysheet.d.tlua +167 -0
  132. package/dragndrop.d.tlua +123 -0
  133. package/draw.d.tlua +162 -0
  134. package/drgbpicker.d.tlua +49 -0
  135. package/drive.d.tlua +159 -0
  136. package/dscrollbargrip.d.tlua +13 -0
  137. package/dscrollpanel.d.tlua +110 -0
  138. package/dshape.d.tlua +72 -0
  139. package/dsizetocontents.d.tlua +46 -0
  140. package/dslider.d.tlua +302 -0
  141. package/dsprite.d.tlua +84 -0
  142. package/dtab.d.tlua +81 -0
  143. package/dtextentry.d.tlua +442 -0
  144. package/dtilelayout.d.tlua +218 -0
  145. package/dtooltip.d.tlua +76 -0
  146. package/dtree.d.tlua +185 -0
  147. package/dtree_node.d.tlua +793 -0
  148. package/dtree_node_button.d.tlua +13 -0
  149. package/duplicator.d.tlua +338 -0
  150. package/dverticaldivider.d.tlua +223 -0
  151. package/dvscrollbar.d.tlua +109 -0
  152. package/editablepanel.d.tlua +10 -0
  153. package/effect.d.tlua +121 -0
  154. package/effects.d.tlua +77 -0
  155. package/engine.d.tlua +248 -0
  156. package/entity.d.tlua +8295 -0
  157. package/ents.d.tlua +267 -0
  158. package/enums.d.tlua +7082 -0
  159. package/file.d.tlua +419 -0
  160. package/file_class.d.tlua +7 -0
  161. package/fingerposer.d.tlua +12 -0
  162. package/fingervar.d.tlua +13 -0
  163. package/frame.d.tlua +11 -0
  164. package/frame_blend.d.tlua +105 -0
  165. package/game.d.tlua +482 -0
  166. package/gameevent.d.tlua +968 -0
  167. package/gamemode.d.tlua +48 -0
  168. package/global.d.tlua +3156 -0
  169. package/gm.d.tlua +3218 -0
  170. package/gmod.d.tlua +20 -0
  171. package/gmsave.d.tlua +53 -0
  172. package/gui.d.tlua +232 -0
  173. package/gwen.d.tlua +55 -0
  174. package/halo.d.tlua +42 -0
  175. package/hammer.d.tlua +17 -0
  176. package/hook.d.tlua +64 -0
  177. package/html.d.tlua +22 -0
  178. package/http.d.tlua +72 -0
  179. package/iconeditor.d.tlua +130 -0
  180. package/igmodaudiochannel.d.tlua +419 -0
  181. package/imagecheckbox.d.tlua +48 -0
  182. package/imaterial.d.tlua +288 -0
  183. package/imesh.d.tlua +70 -0
  184. package/index.d.tlua +277 -0
  185. package/input.d.tlua +252 -0
  186. package/invalidateinternalentitycache.d.tlua +13 -0
  187. package/irestore.d.tlua +94 -0
  188. package/isave.d.tlua +94 -0
  189. package/itexture.d.tlua +108 -0
  190. package/ivideowriter.d.tlua +53 -0
  191. package/jit.d.tlua +243 -0
  192. package/killicon.d.tlua +84 -0
  193. package/label.d.tlua +20 -0
  194. package/language.d.tlua +26 -0
  195. package/list.d.tlua +112 -0
  196. package/makeballoon.d.tlua +15 -0
  197. package/markup.d.tlua +38 -0
  198. package/markupobject.d.tlua +53 -0
  199. package/material.d.tlua +9 -0
  200. package/math.d.tlua +899 -0
  201. package/matproxy.d.tlua +60 -0
  202. package/matselect.d.tlua +106 -0
  203. package/menu.d.tlua +20 -0
  204. package/menubar.d.tlua +39 -0
  205. package/mesh.d.tlua +183 -0
  206. package/modelimage.d.tlua +12 -0
  207. package/motionsensor.d.tlua +115 -0
  208. package/navmesh.d.tlua +274 -0
  209. package/net.d.tlua +639 -0
  210. package/nextbot.d.tlua +380 -0
  211. package/notification.d.tlua +35 -0
  212. package/npc.d.tlua +1787 -0
  213. package/numpad.d.tlua +89 -0
  214. package/os.d.tlua +56 -0
  215. package/package.d.tlua +15 -0
  216. package/package.json +18 -0
  217. package/panel.d.tlua +3650 -0
  218. package/panellist.d.tlua +13 -0
  219. package/pathfollower.d.tlua +301 -0
  220. package/permissions.d.tlua +77 -0
  221. package/physcollide.d.tlua +40 -0
  222. package/physenv.d.tlua +136 -0
  223. package/physobj.d.tlua +799 -0
  224. package/pixelvis_handle_t.d.tlua +9 -0
  225. package/player.d.tlua +3320 -0
  226. package/player_manager.d.tlua +147 -0
  227. package/preseteditor.d.tlua +13 -0
  228. package/presets.d.tlua +79 -0
  229. package/projectedtexture.d.tlua +553 -0
  230. package/properties.d.tlua +65 -0
  231. package/propselect.d.tlua +50 -0
  232. package/radiobutton.d.tlua +13 -0
  233. package/render.d.tlua +1700 -0
  234. package/resource.d.tlua +73 -0
  235. package/richtext.d.tlua +17 -0
  236. package/sandbox.d.tlua +576 -0
  237. package/saverestore.d.tlua +148 -0
  238. package/schedule.d.tlua +69 -0
  239. package/scripted_ents.d.tlua +124 -0
  240. package/search.d.tlua +26 -0
  241. package/serverlist.d.tlua +85 -0
  242. package/slidebar.d.tlua +12 -0
  243. package/slider.d.tlua +11 -0
  244. package/sound.d.tlua +140 -0
  245. package/spawnicon.d.tlua +95 -0
  246. package/spawnmenu.d.tlua +286 -0
  247. package/spawnmenucontentpanel.d.tlua +52 -0
  248. package/sql.d.tlua +154 -0
  249. package/stack.d.tlua +57 -0
  250. package/steamworks.d.tlua +208 -0
  251. package/string.d.tlua +535 -0
  252. package/structures.d.tlua +4442 -0
  253. package/surface.d.tlua +463 -0
  254. package/surfaceinfo.d.tlua +70 -0
  255. package/system.d.tlua +134 -0
  256. package/table.d.tlua +533 -0
  257. package/task.d.tlua +92 -0
  258. package/team.d.tlua +195 -0
  259. package/textentry.d.tlua +12 -0
  260. package/tgaimage.d.tlua +11 -0
  261. package/timer.d.tlua +198 -0
  262. package/tool.d.tlua +466 -0
  263. package/ugcpublishwindow.d.tlua +83 -0
  264. package/umsg.d.tlua +147 -0
  265. package/undo.d.tlua +122 -0
  266. package/urllabel.d.tlua +13 -0
  267. package/usermessage.d.tlua +48 -0
  268. package/utf8.d.tlua +89 -0
  269. package/util.d.tlua +1087 -0
  270. package/vector.d.tlua +413 -0
  271. package/vehicle.d.tlua +472 -0
  272. package/vgui.d.tlua +201 -0
  273. package/video.d.tlua +17 -0
  274. package/vmatrix.d.tlua +392 -0
  275. package/weapon.d.tlua +913 -0
  276. package/weapons.d.tlua +90 -0
  277. package/widgets.d.tlua +29 -0
  278. package/workshopfilebase.d.tlua +68 -0
package/undo.d.tlua ADDED
@@ -0,0 +1,122 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The undo library allows you to add custom entities to the undo list, allowing users to "undo" their creation with their undo (default: Z) key.
5
+ * @source https://wiki.facepunch.com/gmod/undo
6
+ */
7
+ declare undo: UndoLib;
8
+
9
+ interface UndoLib {
10
+ /**
11
+ * Adds an entity to the current undo block
12
+ * @realm server
13
+ * @source https://wiki.facepunch.com/gmod/undo.AddEntity
14
+ */
15
+ AddEntity(ent: Entity): void;
16
+ }
17
+
18
+ interface UndoLib {
19
+ /**
20
+ * Adds a function to call when the current undo block is undone. Note that if an undo has a function, the player will always be notified when this undo is performed, even if the entity it is meant to undo no longer exists.
21
+ * @realm server
22
+ * @source https://wiki.facepunch.com/gmod/undo.AddFunction
23
+ */
24
+ AddFunction(func: (undo: table, ...: any) => boolean, ...: any): void;
25
+ }
26
+
27
+ interface UndoLib {
28
+ /**
29
+ * Begins a new undo entry
30
+ * @realm server
31
+ * @source https://wiki.facepunch.com/gmod/undo.Create
32
+ */
33
+ Create(name: string): void;
34
+ }
35
+
36
+ interface UndoLib {
37
+ /**
38
+ * Processes an undo block (in table form). This is used internally by the undo manager when a player presses Z.
39
+ *
40
+ * You should use `gmod_undo` or `gmod_undonum *num*` console commands instead of calling this function directly.
41
+ *
42
+ * @realm server
43
+ * @source https://wiki.facepunch.com/gmod/undo.Do_Undo
44
+ */
45
+ Do_Undo(tab: Undo): number;
46
+ }
47
+
48
+ interface UndoLib {
49
+ /**
50
+ * Completes an undo entry, and registers it with the player's client
51
+ * @realm server
52
+ * @source https://wiki.facepunch.com/gmod/undo.Finish
53
+ */
54
+ Finish(NiceText?: string): void;
55
+ }
56
+
57
+ interface UndoLib {
58
+ /**
59
+ * Serverside, returns a table containing all undo blocks of all players. Clientside, returns a table of the local player's undo blocks.
60
+ * **NOTE**: Serverside, this table's keys use [Player:UniqueID](https://wiki.facepunch.com/gmod/Player:UniqueID) to store a player's undo blocks.
61
+ *
62
+ *
63
+ * @realm shared
64
+ * @source https://wiki.facepunch.com/gmod/undo.GetTable
65
+ */
66
+ GetTable(): Undo[];
67
+ }
68
+
69
+ interface UndoLib {
70
+ /**
71
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
72
+ *
73
+ * Makes the UI dirty - it will re-create the controls the next time it is viewed.
74
+ *
75
+ * @realm client
76
+ * @source https://wiki.facepunch.com/gmod/undo.MakeUIDirty
77
+ */
78
+ MakeUIDirty(): void;
79
+ }
80
+
81
+ interface UndoLib {
82
+ /**
83
+ * Replaces any instance of the "from" reference with the "to" reference, in any existing undo block.
84
+ *
85
+ * You very likely want to call [cleanup.ReplaceEntity](https://wiki.facepunch.com/gmod/cleanup.ReplaceEntity) with the same entities as well.
86
+ *
87
+ * @realm server
88
+ * @source https://wiki.facepunch.com/gmod/undo.ReplaceEntity
89
+ */
90
+ ReplaceEntity(from: Entity, to: Entity | nil): boolean;
91
+ }
92
+
93
+ interface UndoLib {
94
+ /**
95
+ * Sets a custom undo text for the current undo block
96
+ * @realm server
97
+ * @source https://wiki.facepunch.com/gmod/undo.SetCustomUndoText
98
+ */
99
+ SetCustomUndoText(customText: string): void;
100
+ }
101
+
102
+ interface UndoLib {
103
+ /**
104
+ * Sets the player which the current undo block belongs to
105
+ * @realm server
106
+ * @source https://wiki.facepunch.com/gmod/undo.SetPlayer
107
+ */
108
+ SetPlayer(ply: Player): void;
109
+ }
110
+
111
+ interface UndoLib {
112
+ /**
113
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
114
+ *
115
+ * Adds a hook (CPanelPaint) to the control panel paint function so we can determine when it is being drawn.
116
+ *
117
+ * @realm client
118
+ * @source https://wiki.facepunch.com/gmod/undo.SetupUI
119
+ */
120
+ SetupUI(): void;
121
+ }
122
+
@@ -0,0 +1,13 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * **INTERNAL**: Use [DLabelURL](https://wiki.facepunch.com/gmod/DLabelURL) instead.
5
+ *
6
+ *
7
+ * A panel similar to [Label](https://wiki.facepunch.com/gmod/Label), but can be clicked to open a URL in the Steam Overlay, and appears with an underline. This is used by [DLabelURL](https://wiki.facepunch.com/gmod/DLabelURL).
8
+ *
9
+ * @realm client
10
+ * @source https://wiki.facepunch.com/gmod/URLLabel
11
+ */
12
+ interface URLLabel {}
13
+
@@ -0,0 +1,48 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The usermessage library is used to receive user messages from the server on the client.
5
+ *
6
+ * **WARNING**: Usermessages have a limit of only 256 bytes!
7
+ *
8
+ * @source https://wiki.facepunch.com/gmod/usermessage
9
+ * @deprecated You should be using the net instead
10
+ */
11
+ declare usermessage: UsermessageLib;
12
+
13
+ interface UsermessageLib {
14
+ /**
15
+ * Returns a table of every usermessage hook
16
+ * @realm shared
17
+ * @source https://wiki.facepunch.com/gmod/usermessage.GetTable
18
+ * @deprecated You should be using net instead
19
+ */
20
+ GetTable(): table;
21
+ }
22
+
23
+ interface UsermessageLib {
24
+ /**
25
+ * Sets a hook for the specified to be called when a usermessage with the specified name arrives.
26
+ *
27
+ * **WARNING**: Usermessages have a limit of only 256 bytes!
28
+ *
29
+ *
30
+ * @realm shared
31
+ * @source https://wiki.facepunch.com/gmod/usermessage.Hook
32
+ * @deprecated You should be using net instead
33
+ */
34
+ Hook(name: string, callback: (msg: bf_read, ...: any) => void, ...: any): void;
35
+ }
36
+
37
+ interface UsermessageLib {
38
+ /**
39
+ * **INTERNAL**: This is used internally - although you're able to use it you probably shouldn't.
40
+ *
41
+ * Called by the engine when a usermessage arrives, this method calls the hook function specified by [usermessage.Hook](https://wiki.facepunch.com/gmod/usermessage.Hook) if any.
42
+ *
43
+ * @realm shared
44
+ * @source https://wiki.facepunch.com/gmod/usermessage.IncomingMessage
45
+ */
46
+ IncomingMessage(name: string, msg: bf_read): void;
47
+ }
48
+
package/utf8.d.tlua ADDED
@@ -0,0 +1,89 @@
1
+ // AUTO-GENERATED tlua declarations. Do not edit by hand.
2
+
3
+ /**
4
+ * The utf8 library provides basic support for UTF-8 encoding. This library does not provide any support for Unicode other than the handling of the encoding. Any operation that needs the meaning of a character, such as character classification, is outside its scope.
5
+ *
6
+ * Unless stated otherwise, all functions that expect a byte position as a parameter assume that the given position is either the start of a byte sequence or one plus the length of the subject string. As in the string library, negative indices count from the end of the string.
7
+ * @source https://wiki.facepunch.com/gmod/utf8
8
+ */
9
+ declare utf8: Utf8Lib;
10
+
11
+ interface Utf8Lib {
12
+ /**
13
+ * A UTF-8 compatible version of [string.GetChar](https://wiki.facepunch.com/gmod/string.GetChar).
14
+ *
15
+ * @realm shared and menu
16
+ * @source https://wiki.facepunch.com/gmod/utf8.GetChar
17
+ */
18
+ GetChar(str: string, index: number): string;
19
+ }
20
+
21
+ interface Utf8Lib {
22
+ /**
23
+ * Receives zero or more integers, converts each one to its corresponding UTF-8 byte sequence and returns a string with the concatenation of all these sequences.
24
+ * @realm shared and menu
25
+ * @source https://wiki.facepunch.com/gmod/utf8.char
26
+ */
27
+ char(...: any): string;
28
+ }
29
+
30
+ interface Utf8Lib {
31
+ /**
32
+ * Returns the codepoints (as numbers) from all characters in the given string that start between byte position startPos and endPos. It raises an error if it meets any invalid byte sequence. This functions similarly to [string.byte](https://wiki.facepunch.com/gmod/string.byte).
33
+ * @realm shared and menu
34
+ * @source https://wiki.facepunch.com/gmod/utf8.codepoint
35
+ */
36
+ codepoint(string: string, startPos?: number, endPos?: number): (...any);
37
+ }
38
+
39
+ interface Utf8Lib {
40
+ /**
41
+ * Returns an iterator (like [string.gmatch](https://wiki.facepunch.com/gmod/string.gmatch)) which returns both the position and codepoint of each utf8 character in the string. It raises an error if it meets any invalid byte sequence.
42
+ * @realm shared and menu
43
+ * @source https://wiki.facepunch.com/gmod/utf8.codes
44
+ */
45
+ codes(string: string): function;
46
+ }
47
+
48
+ interface Utf8Lib {
49
+ /**
50
+ * Forces a string to contain only valid UTF-8 data. Invalid sequences are replaced with U+FFFD (the Unicode replacement character).
51
+ *
52
+ * This is a lazy way for users to ensure a string contains only valid UTF-8 data.
53
+ *
54
+ * @realm shared and menu
55
+ * @source https://wiki.facepunch.com/gmod/utf8.force
56
+ */
57
+ force(string: string): string;
58
+ }
59
+
60
+ interface Utf8Lib {
61
+ /**
62
+ * Returns the number of UTF-8 sequences in the given string between positions startPos and endPos (both inclusive). If it finds any invalid UTF-8 byte sequence, returns false as well as the position of the first invalid byte.
63
+ * @realm shared and menu
64
+ * @source https://wiki.facepunch.com/gmod/utf8.len
65
+ */
66
+ len(string: string, startPos?: number, endPos?: number): (number, number);
67
+ }
68
+
69
+ interface Utf8Lib {
70
+ /**
71
+ * Returns the byte-index of the n'th UTF-8-character after the given startPos (nil if none). startPos defaults to 1 when n is positive and -1 when n is negative. If n is zero, this function instead returns the byte-index of the UTF-8-character startPos lies within.
72
+ * @realm shared and menu
73
+ * @source https://wiki.facepunch.com/gmod/utf8.offset
74
+ */
75
+ offset(string: string, n: number, startPos?: number): number;
76
+ }
77
+
78
+ interface Utf8Lib {
79
+ /**
80
+ * A UTF-8 compatible version of [string.sub](https://wiki.facepunch.com/gmod/string.sub).
81
+ * **WARNING**: Avoid using this function on large strings every tick/frame, as it may cause lags.
82
+ *
83
+ *
84
+ * @realm shared and menu
85
+ * @source https://wiki.facepunch.com/gmod/utf8.sub
86
+ */
87
+ sub(string: string, StartPos: number, EndPos?: number): string;
88
+ }
89
+