blockly 7.20211209.0-beta.3 → 7.20211209.0-beta.4

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 (207) hide show
  1. package/blockly.d.ts +4078 -0
  2. package/blockly.min.js +417 -412
  3. package/blockly_compressed.js +304 -307
  4. package/blockly_compressed.js.map +1 -1
  5. package/blocks/lists.js +1 -1
  6. package/blocks/logic.js +1 -1
  7. package/blocks/loops.js +1 -1
  8. package/blocks/procedures.js +1 -1
  9. package/blocks/text.js +416 -409
  10. package/blocks/variables.js +67 -63
  11. package/blocks.d.ts +15 -0
  12. package/blocks_compressed.js +113 -105
  13. package/blocks_compressed.js.map +1 -1
  14. package/core/block_svg.js +1 -2
  15. package/core/blockly.js +35 -5
  16. package/core/contextmenu.js +1 -1
  17. package/core/contextmenu_items.js +3 -2
  18. package/core/field_textinput.js +1 -1
  19. package/core/field_variable.js +1 -1
  20. package/core/inject.js +1 -1
  21. package/core/interfaces/i_serializer.js +0 -1
  22. package/core/msg.js +4 -11
  23. package/core/names.js +1 -1
  24. package/core/procedures.js +1 -1
  25. package/core/serialization/blocks.js +0 -1
  26. package/core/serialization/exceptions.js +1 -1
  27. package/core/serialization/priorities.js +0 -1
  28. package/core/serialization/registry.js +0 -2
  29. package/core/serialization/variables.js +0 -1
  30. package/core/serialization/workspaces.js +0 -1
  31. package/core/utils/parsing.js +1 -1
  32. package/core/variable_map.js +2 -2
  33. package/core/variables.js +1 -1
  34. package/core/variables_dynamic.js +1 -1
  35. package/core.d.ts +15 -0
  36. package/dart.d.ts +16 -0
  37. package/dart_compressed.js.map +1 -1
  38. package/generators/dart.js +0 -1
  39. package/generators/javascript.js +0 -1
  40. package/generators/lua/colour.js +42 -48
  41. package/generators/lua/lists.js +149 -199
  42. package/generators/lua/logic.js +43 -56
  43. package/generators/lua/loops.js +58 -64
  44. package/generators/lua/math.js +160 -217
  45. package/generators/lua/procedures.js +39 -46
  46. package/generators/lua/text.js +147 -198
  47. package/generators/lua/variables.js +11 -12
  48. package/generators/lua/variables_dynamic.js +5 -5
  49. package/generators/lua.js +41 -40
  50. package/generators/php/colour.js +47 -62
  51. package/generators/php/lists.js +200 -249
  52. package/generators/php/logic.js +47 -55
  53. package/generators/php/loops.js +62 -72
  54. package/generators/php/math.js +130 -167
  55. package/generators/php/procedures.js +45 -54
  56. package/generators/php/text.js +126 -153
  57. package/generators/php/variables.js +15 -15
  58. package/generators/php/variables_dynamic.js +5 -5
  59. package/generators/php.js +80 -80
  60. package/generators/python/colour.js +40 -44
  61. package/generators/python/lists.js +124 -148
  62. package/generators/python/logic.js +48 -54
  63. package/generators/python/loops.js +56 -66
  64. package/generators/python/math.js +146 -161
  65. package/generators/python/procedures.js +48 -53
  66. package/generators/python/text.js +111 -133
  67. package/generators/python/variables.js +11 -12
  68. package/generators/python/variables_dynamic.js +5 -5
  69. package/generators/python.js +71 -69
  70. package/index.d.ts +22 -0
  71. package/javascript.d.ts +16 -0
  72. package/javascript_compressed.js.map +1 -1
  73. package/lua.d.ts +16 -0
  74. package/lua_compressed.js +36 -33
  75. package/lua_compressed.js.map +1 -1
  76. package/msg/ab.d.ts +15 -0
  77. package/msg/ace.d.ts +15 -0
  78. package/msg/af.d.ts +15 -0
  79. package/msg/am.d.ts +15 -0
  80. package/msg/ar.d.ts +15 -0
  81. package/msg/ast.d.ts +15 -0
  82. package/msg/az.d.ts +15 -0
  83. package/msg/ba.d.ts +15 -0
  84. package/msg/bcc.d.ts +15 -0
  85. package/msg/be-tarask.d.ts +15 -0
  86. package/msg/be.d.ts +15 -0
  87. package/msg/bg.d.ts +15 -0
  88. package/msg/bn.d.ts +15 -0
  89. package/msg/br.d.ts +15 -0
  90. package/msg/bs.d.ts +15 -0
  91. package/msg/ca.d.ts +15 -0
  92. package/msg/cdo.d.ts +15 -0
  93. package/msg/constants.d.ts +15 -0
  94. package/msg/cs.d.ts +15 -0
  95. package/msg/da.d.ts +15 -0
  96. package/msg/de.d.ts +15 -0
  97. package/msg/diq.d.ts +15 -0
  98. package/msg/dty.d.ts +15 -0
  99. package/msg/ee.d.ts +15 -0
  100. package/msg/el.d.ts +15 -0
  101. package/msg/en-gb.d.ts +15 -0
  102. package/msg/en.d.ts +15 -0
  103. package/msg/eo.d.ts +15 -0
  104. package/msg/es.d.ts +15 -0
  105. package/msg/et.d.ts +15 -0
  106. package/msg/eu.d.ts +15 -0
  107. package/msg/fa.d.ts +15 -0
  108. package/msg/fi.d.ts +15 -0
  109. package/msg/fo.d.ts +15 -0
  110. package/msg/fr.d.ts +15 -0
  111. package/msg/frr.d.ts +15 -0
  112. package/msg/gl.d.ts +15 -0
  113. package/msg/gn.d.ts +15 -0
  114. package/msg/gor.d.ts +15 -0
  115. package/msg/ha.d.ts +15 -0
  116. package/msg/hak.d.ts +15 -0
  117. package/msg/he.d.ts +15 -0
  118. package/msg/hi.d.ts +15 -0
  119. package/msg/hr.d.ts +15 -0
  120. package/msg/hrx.d.ts +15 -0
  121. package/msg/hu.d.ts +15 -0
  122. package/msg/hy.d.ts +15 -0
  123. package/msg/ia.d.ts +15 -0
  124. package/msg/id.d.ts +15 -0
  125. package/msg/ig.d.ts +15 -0
  126. package/msg/inh.d.ts +15 -0
  127. package/msg/is.d.ts +15 -0
  128. package/msg/it.d.ts +15 -0
  129. package/msg/ja.d.ts +15 -0
  130. package/msg/ka.d.ts +15 -0
  131. package/msg/kab.d.ts +15 -0
  132. package/msg/kbd-cyrl.d.ts +15 -0
  133. package/msg/km.d.ts +15 -0
  134. package/msg/kn.d.ts +15 -0
  135. package/msg/ko.d.ts +15 -0
  136. package/msg/ksh.d.ts +15 -0
  137. package/msg/ku-latn.d.ts +15 -0
  138. package/msg/ky.d.ts +15 -0
  139. package/msg/la.d.ts +15 -0
  140. package/msg/lb.d.ts +15 -0
  141. package/msg/lki.d.ts +15 -0
  142. package/msg/lo.d.ts +15 -0
  143. package/msg/lrc.d.ts +15 -0
  144. package/msg/lt.d.ts +15 -0
  145. package/msg/lv.d.ts +15 -0
  146. package/msg/mg.d.ts +15 -0
  147. package/msg/mk.d.ts +15 -0
  148. package/msg/ml.d.ts +15 -0
  149. package/msg/mnw.d.ts +15 -0
  150. package/msg/ms.d.ts +15 -0
  151. package/msg/msg.d.ts +444 -0
  152. package/msg/my.d.ts +15 -0
  153. package/msg/mzn.d.ts +15 -0
  154. package/msg/nb.d.ts +15 -0
  155. package/msg/ne.d.ts +15 -0
  156. package/msg/nl.d.ts +15 -0
  157. package/msg/oc.d.ts +15 -0
  158. package/msg/olo.d.ts +15 -0
  159. package/msg/pa.d.ts +15 -0
  160. package/msg/pl.d.ts +15 -0
  161. package/msg/pms.d.ts +15 -0
  162. package/msg/ps.d.ts +15 -0
  163. package/msg/pt-br.d.ts +15 -0
  164. package/msg/pt.d.ts +15 -0
  165. package/msg/qqq.d.ts +15 -0
  166. package/msg/ro.d.ts +15 -0
  167. package/msg/ru.d.ts +15 -0
  168. package/msg/sc.d.ts +15 -0
  169. package/msg/sco.d.ts +15 -0
  170. package/msg/sd.d.ts +15 -0
  171. package/msg/shn.d.ts +15 -0
  172. package/msg/si.d.ts +15 -0
  173. package/msg/sk.d.ts +15 -0
  174. package/msg/skr-arab.d.ts +15 -0
  175. package/msg/sl.d.ts +15 -0
  176. package/msg/sq.d.ts +15 -0
  177. package/msg/sr-latn.d.ts +15 -0
  178. package/msg/sr.d.ts +15 -0
  179. package/msg/sv.d.ts +15 -0
  180. package/msg/sw.d.ts +15 -0
  181. package/msg/synonyms.d.ts +15 -0
  182. package/msg/ta.d.ts +15 -0
  183. package/msg/tcy.d.ts +15 -0
  184. package/msg/te.d.ts +15 -0
  185. package/msg/th.d.ts +15 -0
  186. package/msg/ti.d.ts +15 -0
  187. package/msg/tl.d.ts +15 -0
  188. package/msg/tlh.d.ts +15 -0
  189. package/msg/tr.d.ts +15 -0
  190. package/msg/ug-arab.d.ts +15 -0
  191. package/msg/uk.d.ts +15 -0
  192. package/msg/ur.d.ts +15 -0
  193. package/msg/uz.d.ts +15 -0
  194. package/msg/vi.d.ts +15 -0
  195. package/msg/xmf.d.ts +15 -0
  196. package/msg/yo.d.ts +15 -0
  197. package/msg/yue.d.ts +15 -0
  198. package/msg/zgh.d.ts +15 -0
  199. package/msg/zh-hans.d.ts +15 -0
  200. package/msg/zh-hant.d.ts +15 -0
  201. package/package.json +1 -1
  202. package/php.d.ts +16 -0
  203. package/php_compressed.js +38 -32
  204. package/php_compressed.js.map +1 -1
  205. package/python.d.ts +16 -0
  206. package/python_compressed.js +39 -36
  207. package/python_compressed.js.map +1 -1
package/blockly.d.ts ADDED
@@ -0,0 +1,4078 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2019 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+
7
+ /**
8
+ * @fileoverview Type definitions for Blockly.
9
+ */
10
+
11
+ export = Blockly;
12
+
13
+ declare module Blockly {
14
+
15
+ interface BlocklyOptions {
16
+ toolbox?: Blockly.utils.toolbox.ToolboxDefinition;
17
+ readOnly?: boolean;
18
+ trashcan?: boolean;
19
+ maxInstances?: {[type: string]: number;};
20
+ maxTrashcanContents?: number;
21
+ collapse?: boolean;
22
+ comments?: boolean;
23
+ disable?: boolean;
24
+ sounds?: boolean;
25
+ rtl?: boolean;
26
+ horizontalLayout?: boolean;
27
+ toolboxPosition?: string;
28
+ css?: boolean;
29
+ oneBasedIndex?: boolean;
30
+ media?: string;
31
+ theme?: Blockly.Theme | BlocklyThemeOptions;
32
+ move?: {
33
+ scrollbars?: boolean;
34
+ drag?: boolean;
35
+ wheel?: boolean;
36
+ };
37
+ grid?: {
38
+ spacing?: number;
39
+ colour?: string;
40
+ length?: number;
41
+ snap?: boolean;
42
+ };
43
+ zoom?: {
44
+ controls?: boolean;
45
+ wheel?: boolean;
46
+ startScale?: number;
47
+ maxScale?: number;
48
+ minScale?: number;
49
+ scaleSpeed?: number;
50
+ pinch?: boolean;
51
+ };
52
+ renderer?: string;
53
+ parentWorkspace?: Blockly.WorkspaceSvg;
54
+ }
55
+
56
+ interface BlocklyThemeOptions {
57
+ base?: string;
58
+ blockStyles?: {[blocks: string]: Blockly.Theme.BlockStyle;};
59
+ categoryStyles?: {[category: string]: Blockly.Theme.CategoryStyle;};
60
+ componentStyles?: {[component: string]: any;};
61
+ fontStyle?: Blockly.Theme.FontStyle;
62
+ startHats?: boolean;
63
+ }
64
+
65
+ /**
66
+ * Set the Blockly locale.
67
+ * Note: this method is only available in the npm release of Blockly.
68
+ * @param {!Object} msg An object of Blockly message strings in the desired
69
+ * language.
70
+ */
71
+ function setLocale(msg: {[key: string]: string;}): void;
72
+ }
73
+
74
+ declare module Blockly.utils {
75
+ interface Metrics {
76
+ viewHeight: number;
77
+ viewWidth: number;
78
+ contentHeight: number;
79
+ contentWidth: number;
80
+ viewTop: number;
81
+ viewLeft: number;
82
+ contentTop: number;
83
+ contentLeft: number;
84
+ absoluteTop: number;
85
+ absoluteLeft: number;
86
+ svgHeight?: number;
87
+ svgWidth?: number;
88
+ toolboxWidth?: number;
89
+ toolboxHeight?: number;
90
+ flyoutWidth?: number;
91
+ flyoutHeight?: number;
92
+ toolboxPosition?: number;
93
+ }
94
+ }
95
+
96
+
97
+ declare module Block {
98
+
99
+ /**
100
+ * @typedef {{
101
+ * text:?string,
102
+ * pinned:boolean,
103
+ * size:Size
104
+ * }}
105
+ */
106
+ interface CommentModel {
107
+ text: string;
108
+ pinned: boolean;
109
+ size: Size
110
+ }
111
+
112
+ /**
113
+ * The language-neutral ID given to the collapsed input.
114
+ * @const {string}
115
+ */
116
+ var COLLAPSED_INPUT_NAME: any /*missing*/;
117
+
118
+ /**
119
+ * The language-neutral ID given to the collapsed field.
120
+ * @const {string}
121
+ */
122
+ var COLLAPSED_FIELD_NAME: any /*missing*/;
123
+ }
124
+
125
+
126
+
127
+
128
+
129
+ declare module BlockSvg {
130
+
131
+ /**
132
+ * Constant for identifying rows that are to be rendered inline.
133
+ * Don't collide with Blockly.inputTypes.
134
+ * @const
135
+ */
136
+ var INLINE: any /*missing*/;
137
+
138
+ /**
139
+ * ID to give the "collapsed warnings" warning. Allows us to remove the
140
+ * "collapsed warnings" warning without removing any warnings that belong to
141
+ * the block.
142
+ * @type {string}
143
+ * @const
144
+ */
145
+ var COLLAPSED_WARNING_ID: string;
146
+ }
147
+
148
+
149
+ declare module exports {
150
+
151
+ /**
152
+ * Blockly core version.
153
+ * This constant is overridden by the build script (npm run build) to the value
154
+ * of the version in package.json. This is done by the Closure Compiler in the
155
+ * buildCompressed gulp task.
156
+ * For local builds, you can pass --define='Blockly.VERSION=X.Y.Z' to the
157
+ * compiler to override this constant.
158
+ * @define {string}
159
+ * @alias Blockly.VERSION
160
+ */
161
+ var VERSION: any /*missing*/;
162
+
163
+ /**
164
+ * Returns the dimensions of the specified SVG image.
165
+ * @param {!SVGElement} svg SVG image.
166
+ * @return {!Size} Contains width and height properties.
167
+ * @deprecated Use workspace.setCachedParentSvgSize. (2021 March 5)
168
+ * @alias Blockly.svgSize
169
+ */
170
+ function svgSize(svg: SVGElement): Size;
171
+
172
+ /**
173
+ * Copy a block or workspace comment onto the local clipboard.
174
+ * @param {!ICopyable} toCopy Block or Workspace Comment to be copied.
175
+ * @package
176
+ * @alias Blockly.copy
177
+ */
178
+ function copy(toCopy: ICopyable): void;
179
+
180
+ /**
181
+ * Paste a block or workspace comment on to the main workspace.
182
+ * @return {boolean} True if the paste was successful, false otherwise.
183
+ * @package
184
+ * @alias Blockly.paste
185
+ */
186
+ function paste(): boolean;
187
+
188
+ /**
189
+ * Duplicate this block and its children, or a workspace comment.
190
+ * @param {!ICopyable} toDuplicate Block or Workspace Comment to be
191
+ * copied.
192
+ * @package
193
+ * @alias Blockly.duplicate
194
+ */
195
+ function duplicate(toDuplicate: ICopyable): void;
196
+
197
+ /**
198
+ * Returns the main workspace. Returns the last used main workspace (based on
199
+ * focus). Try not to use this function, particularly if there are multiple
200
+ * Blockly instances on a page.
201
+ * @return {!Workspace} The main workspace.
202
+ * @alias Blockly.getMainWorkspace
203
+ */
204
+ function getMainWorkspace(): Workspace;
205
+
206
+ /**
207
+ * Define blocks from an array of JSON block definitions, as might be generated
208
+ * by the Blockly Developer Tools.
209
+ * @param {!Array<!Object>} jsonArray An array of JSON block definitions.
210
+ * @alias Blockly.defineBlocksWithJsonArray
211
+ */
212
+ function defineBlocksWithJsonArray(jsonArray: Object[]): void;
213
+
214
+ /**
215
+ * Set the parent container. This is the container element that the WidgetDiv,
216
+ * DropDownDiv, and Tooltip are rendered into the first time `Blockly.inject`
217
+ * is called.
218
+ * This method is a NOP if called after the first ``Blockly.inject``.
219
+ * @param {!Element} container The container element.
220
+ * @alias Blockly.setParentContainer
221
+ */
222
+ function setParentContainer(container: Element): void;
223
+
224
+ /**
225
+ * @see colour.hueToHex
226
+ * @deprecated Use Blockly.utils.colour.hueToHex (September 2021).
227
+ * @alias Blockly.hueToHex
228
+ */
229
+ var hueToHex: any /*missing*/;
230
+
231
+ /**
232
+ * @see browserEvents.bind
233
+ * @alias Blockly.bindEvent_
234
+ */
235
+ var bindEvent_: any /*missing*/;
236
+
237
+ /**
238
+ * @see browserEvents.unbind
239
+ * @alias Blockly.unbindEvent_
240
+ */
241
+ var unbindEvent_: any /*missing*/;
242
+
243
+ /**
244
+ * @see browserEvents.conditionalBind
245
+ * @alias Blockly.bindEventWithChecks_
246
+ */
247
+ var bindEventWithChecks_: any /*missing*/;
248
+
249
+ /**
250
+ * @see Blockly.Input.Align.LEFT
251
+ * @alias Blockly.ALIGN_LEFT
252
+ */
253
+ var ALIGN_LEFT: any /*missing*/;
254
+
255
+ /**
256
+ * @see Blockly.Input.Align.CENTRE
257
+ * @alias Blockly.ALIGN_CENTRE
258
+ */
259
+ var ALIGN_CENTRE: any /*missing*/;
260
+
261
+ /**
262
+ * @see Blockly.Input.Align.RIGHT
263
+ * @alias Blockly.ALIGN_RIGHT
264
+ */
265
+ var ALIGN_RIGHT: any /*missing*/;
266
+
267
+ /**
268
+ * @see common.svgResize
269
+ */
270
+ var svgResize: any /*missing*/;
271
+
272
+ /**
273
+ * @see ConnectionType.INPUT_VALUE
274
+ * @alias Blockly.INPUT_VALUE
275
+ */
276
+ var INPUT_VALUE: any /*missing*/;
277
+
278
+ /**
279
+ * @see ConnectionType.OUTPUT_VALUE
280
+ * @alias Blockly.OUTPUT_VALUE
281
+ */
282
+ var OUTPUT_VALUE: any /*missing*/;
283
+
284
+ /**
285
+ * @see ConnectionType.NEXT_STATEMENT
286
+ * @alias Blockly.NEXT_STATEMENT
287
+ */
288
+ var NEXT_STATEMENT: any /*missing*/;
289
+
290
+ /**
291
+ * @see ConnectionType.PREVIOUS_STATEMENT
292
+ * @alias Blockly.PREVIOUS_STATEMENT
293
+ */
294
+ var PREVIOUS_STATEMENT: any /*missing*/;
295
+
296
+ /**
297
+ * @see inputTypes.DUMMY_INPUT
298
+ * @alias Blockly.DUMMY_INPUT
299
+ */
300
+ var DUMMY_INPUT: any /*missing*/;
301
+
302
+ /**
303
+ * @see toolbox.Position.TOP
304
+ * @alias Blockly.TOOLBOX_AT_TOP
305
+ */
306
+ var TOOLBOX_AT_TOP: any /*missing*/;
307
+
308
+ /**
309
+ * @see toolbox.Position.BOTTOM
310
+ * @alias Blockly.TOOLBOX_AT_BOTTOM
311
+ */
312
+ var TOOLBOX_AT_BOTTOM: any /*missing*/;
313
+
314
+ /**
315
+ * @see toolbox.Position.LEFT
316
+ * @alias Blockly.TOOLBOX_AT_LEFT
317
+ */
318
+ var TOOLBOX_AT_LEFT: any /*missing*/;
319
+
320
+ /**
321
+ * @see toolbox.Position.RIGHT
322
+ * @alias Blockly.TOOLBOX_AT_RIGHT
323
+ */
324
+ var TOOLBOX_AT_RIGHT: any /*missing*/;
325
+
326
+ /**
327
+ * String for use in the "custom" attribute of a category in toolbox XML.
328
+ * This string indicates that the category should be dynamically populated with
329
+ * variable blocks.
330
+ * @const {string}
331
+ * @alias Blockly.VARIABLE_CATEGORY_NAME
332
+ */
333
+ var VARIABLE_CATEGORY_NAME: any /*missing*/;
334
+
335
+ /**
336
+ * String for use in the "custom" attribute of a category in toolbox XML.
337
+ * This string indicates that the category should be dynamically populated with
338
+ * variable blocks.
339
+ * @const {string}
340
+ * @alias Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME
341
+ */
342
+ var VARIABLE_DYNAMIC_CATEGORY_NAME: any /*missing*/;
343
+
344
+ /**
345
+ * String for use in the "custom" attribute of a category in toolbox XML.
346
+ * This string indicates that the category should be dynamically populated with
347
+ * procedure blocks.
348
+ * @const {string}
349
+ * @alias Blockly.PROCEDURE_CATEGORY_NAME
350
+ */
351
+ var PROCEDURE_CATEGORY_NAME: any /*missing*/;
352
+
353
+ /** @deprecated Use Blockly.ConnectionType instead. */
354
+ var connectionTypes: any /*missing*/;
355
+ }
356
+
357
+
358
+
359
+
360
+
361
+ declare module Bubble {
362
+
363
+ /**
364
+ * Width of the border around the bubble.
365
+ */
366
+ var BORDER_WIDTH: any /*missing*/;
367
+
368
+ /**
369
+ * Determines the thickness of the base of the arrow in relation to the size
370
+ * of the bubble. Higher numbers result in thinner arrows.
371
+ */
372
+ var ARROW_THICKNESS: any /*missing*/;
373
+
374
+ /**
375
+ * The number of degrees that the arrow bends counter-clockwise.
376
+ */
377
+ var ARROW_ANGLE: any /*missing*/;
378
+
379
+ /**
380
+ * The sharpness of the arrow's bend. Higher numbers result in smoother arrows.
381
+ */
382
+ var ARROW_BEND: any /*missing*/;
383
+
384
+ /**
385
+ * Distance between arrow point and anchor point.
386
+ */
387
+ var ANCHOR_RADIUS: any /*missing*/;
388
+
389
+ /**
390
+ * Create the text for a non editable bubble.
391
+ * @param {string} text The text to display.
392
+ * @return {!SVGTextElement} The top-level node of the text.
393
+ * @package
394
+ */
395
+ function textToDom(text: string): SVGTextElement;
396
+
397
+ /**
398
+ * Creates a bubble that can not be edited.
399
+ * @param {!SVGTextElement} paragraphElement The text element for the non
400
+ * editable bubble.
401
+ * @param {!BlockSvg} block The block that the bubble is attached to.
402
+ * @param {!Coordinate} iconXY The coordinate of the icon.
403
+ * @return {!Bubble} The non editable bubble.
404
+ * @package
405
+ */
406
+ function createNonEditableBubble(paragraphElement: SVGTextElement, block: BlockSvg, iconXY: Coordinate): Bubble;
407
+ }
408
+
409
+
410
+
411
+
412
+
413
+
414
+ declare module exports {
415
+
416
+ /**
417
+ * All of the connections on blocks that are currently being dragged.
418
+ * @type {!Array<!Connection>}
419
+ */
420
+ var draggingConnections: Connection[];
421
+ }
422
+
423
+
424
+ declare module ComponentManager {
425
+
426
+ class Capability<T> extends Capability__Class<T> { }
427
+ /** Fake class which should be extended to avoid inheriting static properties */
428
+ class Capability__Class<T> {
429
+
430
+ /**
431
+ * A name with the capability of the element stored in the generic.
432
+ * @param {string} name The name of the component capability.
433
+ * @constructor
434
+ * @template T
435
+ */
436
+ constructor(name: string);
437
+ }
438
+
439
+
440
+ /**
441
+ * An object storing component information.
442
+ * @typedef {{
443
+ * component: !IComponent,
444
+ * capabilities: (
445
+ * !Array<string|!ComponentManager.Capability<!IComponent>>
446
+ * ),
447
+ * weight: number
448
+ * }}
449
+ */
450
+ interface ComponentDatum {
451
+ component: IComponent;
452
+ capabilities: string|ComponentManager.Capability<IComponent>[];
453
+ weight: number
454
+ }
455
+ }
456
+
457
+ declare module ComponentManager.Capability {
458
+
459
+ /** @type {!ComponentManager.Capability<!IPositionable>} */
460
+ var POSITIONABLE: ComponentManager.Capability<IPositionable>;
461
+
462
+ /** @type {!ComponentManager.Capability<!IDragTarget>} */
463
+ var DRAG_TARGET: ComponentManager.Capability<IDragTarget>;
464
+
465
+ /** @type {!ComponentManager.Capability<!IDeleteArea>} */
466
+ var DELETE_AREA: ComponentManager.Capability<IDeleteArea>;
467
+
468
+ /** @type {!ComponentManager.Capability<!IAutoHideable>} */
469
+ var AUTOHIDEABLE: ComponentManager.Capability<IAutoHideable>;
470
+ }
471
+
472
+
473
+ declare module Connection {
474
+
475
+ /**
476
+ * Constants for checking whether two connections are compatible.
477
+ */
478
+ var CAN_CONNECT: any /*missing*/;
479
+
480
+ /**
481
+ * Returns the connection (starting at the startBlock) which will accept
482
+ * the given connection. This includes compatible connection types and
483
+ * connection checks.
484
+ * @param {!Block} startBlock The block on which to start the search.
485
+ * @param {!Connection} orphanConnection The connection that is looking
486
+ * for a home.
487
+ * @return {?Connection} The suitable connection point on the chain of
488
+ * blocks, or null.
489
+ */
490
+ function getConnectionForOrphanedConnection(startBlock: Block, orphanConnection: Connection): Connection;
491
+ }
492
+
493
+
494
+
495
+ declare module ConnectionDB {
496
+
497
+ /**
498
+ * Initialize a set of connection DBs for a workspace.
499
+ * @param {!IConnectionChecker} checker The workspace's
500
+ * connection checker, used to decide if connections are valid during a
501
+ * drag.
502
+ * @return {!Array<!ConnectionDB>} Array of databases.
503
+ */
504
+ function init(checker: IConnectionChecker): ConnectionDB[];
505
+ }
506
+
507
+
508
+
509
+
510
+
511
+
512
+ declare module ContextMenuRegistry {
513
+
514
+ /**
515
+ * Where this menu item should be rendered. If the menu item should be rendered
516
+ * in multiple scopes, e.g. on both a block and a workspace, it should be
517
+ * registered for each scope.
518
+ * @enum {string}
519
+ */
520
+ enum ScopeType { BLOCK, WORKSPACE }
521
+
522
+ /**
523
+ * The actual workspace/block where the menu is being rendered. This is passed
524
+ * to callback and displayText functions that depend on this information.
525
+ * @typedef {{
526
+ * block: (BlockSvg|undefined),
527
+ * workspace: (WorkspaceSvg|undefined)
528
+ * }}
529
+ */
530
+ interface Scope {
531
+ block: BlockSvg|any /*undefined*/;
532
+ workspace: WorkspaceSvg|any /*undefined*/
533
+ }
534
+
535
+ /**
536
+ * A menu item as entered in the registry.
537
+ * @typedef {{
538
+ * callback: function(!ContextMenuRegistry.Scope),
539
+ * scopeType: !ContextMenuRegistry.ScopeType,
540
+ * displayText: ((function(!ContextMenuRegistry.Scope):string)|string),
541
+ * preconditionFn: function(!ContextMenuRegistry.Scope):string,
542
+ * weight: number,
543
+ * id: string
544
+ * }}
545
+ */
546
+ interface RegistryItem {
547
+ callback: { (_0: ContextMenuRegistry.Scope): any /*missing*/ };
548
+ scopeType: ContextMenuRegistry.ScopeType;
549
+ displayText: { (_0: ContextMenuRegistry.Scope): string }|string;
550
+ preconditionFn: { (_0: ContextMenuRegistry.Scope): string };
551
+ weight: number;
552
+ id: string
553
+ }
554
+
555
+ /**
556
+ * A menu item as presented to contextmenu.js.
557
+ * @typedef {{
558
+ * text: string,
559
+ * enabled: boolean,
560
+ * callback: function(!ContextMenuRegistry.Scope),
561
+ * scope: !ContextMenuRegistry.Scope,
562
+ * weight: number
563
+ * }}
564
+ */
565
+ interface ContextMenuOption {
566
+ text: string;
567
+ enabled: boolean;
568
+ callback: { (_0: ContextMenuRegistry.Scope): any /*missing*/ };
569
+ scope: ContextMenuRegistry.Scope;
570
+ weight: number
571
+ }
572
+
573
+ /**
574
+ * Singleton instance of this class. All interactions with this class should be
575
+ * done on this object.
576
+ * @type {?ContextMenuRegistry}
577
+ */
578
+ var registry: ContextMenuRegistry;
579
+ }
580
+
581
+
582
+
583
+
584
+
585
+
586
+ declare module DropDownDiv {
587
+
588
+ /**
589
+ * Arrow size in px. Should match the value in CSS
590
+ * (need to position pre-render).
591
+ * @type {number}
592
+ * @const
593
+ */
594
+ var ARROW_SIZE: number;
595
+
596
+ /**
597
+ * Drop-down border size in px. Should match the value in CSS (need to position
598
+ * the arrow).
599
+ * @type {number}
600
+ * @const
601
+ */
602
+ var BORDER_SIZE: number;
603
+
604
+ /**
605
+ * Amount the arrow must be kept away from the edges of the main drop-down div,
606
+ * in px.
607
+ * @type {number}
608
+ * @const
609
+ */
610
+ var ARROW_HORIZONTAL_PADDING: number;
611
+
612
+ /**
613
+ * Amount drop-downs should be padded away from the source, in px.
614
+ * @type {number}
615
+ * @const
616
+ */
617
+ var PADDING_Y: number;
618
+
619
+ /**
620
+ * Length of animations in seconds.
621
+ * @type {number}
622
+ * @const
623
+ */
624
+ var ANIMATION_TIME: number;
625
+
626
+ /**
627
+ * Dropdown bounds info object used to encapsulate sizing information about a
628
+ * bounding element (bounding box and width/height).
629
+ * @typedef {{
630
+ * top:number,
631
+ * left:number,
632
+ * bottom:number,
633
+ * right:number,
634
+ * width:number,
635
+ * height:number
636
+ * }}
637
+ */
638
+ interface BoundsInfo {
639
+ top: number;
640
+ left: number;
641
+ bottom: number;
642
+ right: number;
643
+ width: number;
644
+ height: number
645
+ }
646
+
647
+ /**
648
+ * Dropdown position metrics.
649
+ * @typedef {{
650
+ * initialX:number,
651
+ * initialY:number,
652
+ * finalX:number,
653
+ * finalY:number,
654
+ * arrowX:?number,
655
+ * arrowY:?number,
656
+ * arrowAtTop:?boolean,
657
+ * arrowVisible:boolean
658
+ * }}
659
+ */
660
+ interface PositionMetrics {
661
+ initialX: number;
662
+ initialY: number;
663
+ finalX: number;
664
+ finalY: number;
665
+ arrowX: number;
666
+ arrowY: number;
667
+ arrowAtTop: boolean;
668
+ arrowVisible: boolean
669
+ }
670
+
671
+ /**
672
+ * Create and insert the DOM element for this div.
673
+ * @package
674
+ */
675
+ function createDom(): void;
676
+
677
+ /**
678
+ * Set an element to maintain bounds within. Drop-downs will appear
679
+ * within the box of this element if possible.
680
+ * @param {?Element} boundsElement Element to bind drop-down to.
681
+ */
682
+ function setBoundsElement(boundsElement: Element): void;
683
+
684
+ /**
685
+ * Provide the div for inserting content into the drop-down.
686
+ * @return {!Element} Div to populate with content.
687
+ */
688
+ function getContentDiv(): Element;
689
+
690
+ /**
691
+ * Clear the content of the drop-down.
692
+ */
693
+ function clearContent(): void;
694
+
695
+ /**
696
+ * Set the colour for the drop-down.
697
+ * @param {string} backgroundColour Any CSS colour for the background.
698
+ * @param {string} borderColour Any CSS colour for the border.
699
+ */
700
+ function setColour(backgroundColour: string, borderColour: string): void;
701
+
702
+ /**
703
+ * Shortcut to show and place the drop-down with positioning determined
704
+ * by a particular block. The primary position will be below the block,
705
+ * and the secondary position above the block. Drop-down will be
706
+ * constrained to the block's workspace.
707
+ * @param {!Field} field The field showing the drop-down.
708
+ * @param {!BlockSvg} block Block to position the drop-down around.
709
+ * @param {Function=} opt_onHide Optional callback for when the drop-down is
710
+ * hidden.
711
+ * @param {number=} opt_secondaryYOffset Optional Y offset for above-block
712
+ * positioning.
713
+ * @return {boolean} True if the menu rendered below block; false if above.
714
+ */
715
+ function showPositionedByBlock(field: Field, block: BlockSvg, opt_onHide?: Function, opt_secondaryYOffset?: number): boolean;
716
+
717
+ /**
718
+ * Shortcut to show and place the drop-down with positioning determined
719
+ * by a particular field. The primary position will be below the field,
720
+ * and the secondary position above the field. Drop-down will be
721
+ * constrained to the block's workspace.
722
+ * @param {!Field} field The field to position the dropdown against.
723
+ * @param {Function=} opt_onHide Optional callback for when the drop-down is
724
+ * hidden.
725
+ * @param {number=} opt_secondaryYOffset Optional Y offset for above-block
726
+ * positioning.
727
+ * @return {boolean} True if the menu rendered below block; false if above.
728
+ */
729
+ function showPositionedByField(field: Field, opt_onHide?: Function, opt_secondaryYOffset?: number): boolean;
730
+
731
+ /**
732
+ * Show and place the drop-down.
733
+ * The drop-down is placed with an absolute "origin point" (x, y) - i.e.,
734
+ * the arrow will point at this origin and box will positioned below or above
735
+ * it. If we can maintain the container bounds at the primary point, the arrow
736
+ * will point there, and the container will be positioned below it.
737
+ * If we can't maintain the container bounds at the primary point, fall-back to
738
+ * the secondary point and position above.
739
+ * @param {?Object} owner The object showing the drop-down
740
+ * @param {boolean} rtl Right-to-left (true) or left-to-right (false).
741
+ * @param {number} primaryX Desired origin point x, in absolute px.
742
+ * @param {number} primaryY Desired origin point y, in absolute px.
743
+ * @param {number} secondaryX Secondary/alternative origin point x, in absolute
744
+ * px.
745
+ * @param {number} secondaryY Secondary/alternative origin point y, in absolute
746
+ * px.
747
+ * @param {Function=} opt_onHide Optional callback for when the drop-down is
748
+ * hidden.
749
+ * @return {boolean} True if the menu rendered at the primary origin point.
750
+ * @package
751
+ */
752
+ function show(owner: Object, rtl: boolean, primaryX: number, primaryY: number, secondaryX: number, secondaryY: number, opt_onHide?: Function): boolean;
753
+
754
+ /**
755
+ * Get the x positions for the left side of the DropDownDiv and the arrow,
756
+ * accounting for the bounds of the workspace.
757
+ * @param {number} sourceX Desired origin point x, in absolute px.
758
+ * @param {number} boundsLeft The left edge of the bounding element, in
759
+ * absolute px.
760
+ * @param {number} boundsRight The right edge of the bounding element, in
761
+ * absolute px.
762
+ * @param {number} divWidth The width of the div in px.
763
+ * @return {{divX: number, arrowX: number}} An object containing metrics for
764
+ * the x positions of the left side of the DropDownDiv and the arrow.
765
+ * @package
766
+ */
767
+ function getPositionX(sourceX: number, boundsLeft: number, boundsRight: number, divWidth: number): { divX: number; arrowX: number };
768
+
769
+ /**
770
+ * Is the container visible?
771
+ * @return {boolean} True if visible.
772
+ */
773
+ function isVisible(): boolean;
774
+
775
+ /**
776
+ * Hide the menu only if it is owned by the provided object.
777
+ * @param {?Object} owner Object which must be owning the drop-down to hide.
778
+ * @param {boolean=} opt_withoutAnimation True if we should hide the dropdown
779
+ * without animating.
780
+ * @return {boolean} True if hidden.
781
+ */
782
+ function hideIfOwner(owner: Object, opt_withoutAnimation?: boolean): boolean;
783
+
784
+ /**
785
+ * Hide the menu, triggering animation.
786
+ */
787
+ function hide(): void;
788
+
789
+ /**
790
+ * Hide the menu, without animation.
791
+ */
792
+ function hideWithoutAnimation(): void;
793
+
794
+ /**
795
+ * Repositions the dropdownDiv on window resize. If it doesn't know how to
796
+ * calculate the new position, it will just hide it instead.
797
+ * @package
798
+ */
799
+ function repositionForWindowResize(): void;
800
+ }
801
+
802
+ declare module internal {
803
+
804
+ /**
805
+ * Get sizing info about the bounding element.
806
+ * @return {!DropDownDiv.BoundsInfo} An object containing size
807
+ * information about the bounding element (bounding box and width/height).
808
+ */
809
+ function getBoundsInfo(): DropDownDiv.BoundsInfo;
810
+
811
+ /**
812
+ * Helper to position the drop-down and the arrow, maintaining bounds.
813
+ * See explanation of origin points in DropDownDiv.show.
814
+ * @param {number} primaryX Desired origin point x, in absolute px.
815
+ * @param {number} primaryY Desired origin point y, in absolute px.
816
+ * @param {number} secondaryX Secondary/alternative origin point x,
817
+ * in absolute px.
818
+ * @param {number} secondaryY Secondary/alternative origin point y,
819
+ * in absolute px.
820
+ * @return {!DropDownDiv.PositionMetrics} Various final metrics,
821
+ * including rendered positions for drop-down and arrow.
822
+ */
823
+ function getPositionMetrics(primaryX: number, primaryY: number, secondaryX: number, secondaryY: number): DropDownDiv.PositionMetrics;
824
+ }
825
+
826
+
827
+
828
+ declare module Field {
829
+
830
+ /**
831
+ * Non-breaking space.
832
+ * @const
833
+ */
834
+ var NBSP: any /*missing*/;
835
+ }
836
+
837
+
838
+ declare module FieldAngle {
839
+
840
+ /**
841
+ * Construct a FieldAngle from a JSON arg object.
842
+ * @param {!Object} options A JSON object with options (angle).
843
+ * @return {!FieldAngle} The new field instance.
844
+ * @package
845
+ * @nocollapse
846
+ */
847
+ function fromJson(options: Object): FieldAngle;
848
+
849
+ /**
850
+ * The default amount to round angles to when using a mouse or keyboard nav
851
+ * input. Must be a positive integer to support keyboard navigation.
852
+ * @const {number}
853
+ */
854
+ var ROUND: any /*missing*/;
855
+
856
+ /**
857
+ * Half the width of protractor image.
858
+ * @const {number}
859
+ */
860
+ var HALF: any /*missing*/;
861
+
862
+ /**
863
+ * Default property describing which direction makes an angle field's value
864
+ * increase. Angle increases clockwise (true) or counterclockwise (false).
865
+ * @const {boolean}
866
+ */
867
+ var CLOCKWISE: any /*missing*/;
868
+
869
+ /**
870
+ * The default offset of 0 degrees (and all angles). Always offsets in the
871
+ * counterclockwise direction, regardless of the field's clockwise property.
872
+ * Usually either 0 (0 = right) or 90 (0 = up).
873
+ * @const {number}
874
+ */
875
+ var OFFSET: any /*missing*/;
876
+
877
+ /**
878
+ * The default maximum angle to allow before wrapping.
879
+ * Usually either 360 (for 0 to 359.9) or 180 (for -179.9 to 180).
880
+ * @const {number}
881
+ */
882
+ var WRAP: any /*missing*/;
883
+
884
+ /**
885
+ * Radius of protractor circle. Slightly smaller than protractor size since
886
+ * otherwise SVG crops off half the border at the edges.
887
+ * @const {number}
888
+ */
889
+ var RADIUS: any /*missing*/;
890
+ }
891
+
892
+
893
+ declare module FieldCheckbox {
894
+
895
+ /**
896
+ * Construct a FieldCheckbox from a JSON arg object.
897
+ * @param {!Object} options A JSON object with options (checked).
898
+ * @return {!FieldCheckbox} The new field instance.
899
+ * @package
900
+ * @nocollapse
901
+ */
902
+ function fromJson(options: Object): FieldCheckbox;
903
+
904
+ /**
905
+ * Default character for the checkmark.
906
+ * @type {string}
907
+ * @const
908
+ */
909
+ var CHECK_CHAR: string;
910
+ }
911
+
912
+
913
+ declare module FieldColour {
914
+
915
+ /**
916
+ * Construct a FieldColour from a JSON arg object.
917
+ * @param {!Object} options A JSON object with options (colour).
918
+ * @return {!FieldColour} The new field instance.
919
+ * @package
920
+ * @nocollapse
921
+ */
922
+ function fromJson(options: Object): FieldColour;
923
+
924
+ /**
925
+ * An array of colour strings for the palette.
926
+ * Copied from goog.ui.ColorPicker.SIMPLE_GRID_COLORS
927
+ * All colour pickers use this unless overridden with setColours.
928
+ * @type {!Array<string>}
929
+ */
930
+ var COLOURS: string[];
931
+
932
+ /**
933
+ * An array of tooltip strings for the palette. If not the same length as
934
+ * COLOURS, the colour's hex code will be used for any missing titles.
935
+ * All colour pickers use this unless overridden with setColours.
936
+ * @type {!Array<string>}
937
+ */
938
+ var TITLES: string[];
939
+
940
+ /**
941
+ * Number of columns in the palette.
942
+ * All colour pickers use this unless overridden with setColumns.
943
+ */
944
+ var COLUMNS: any /*missing*/;
945
+ }
946
+
947
+
948
+ declare module FieldDropdown {
949
+
950
+ /**
951
+ * Dropdown image properties.
952
+ * @typedef {{
953
+ * src:string,
954
+ * alt:string,
955
+ * width:number,
956
+ * height:number
957
+ * }}
958
+ */
959
+ interface ImageProperties {
960
+ src: string;
961
+ alt: string;
962
+ width: number;
963
+ height: number
964
+ }
965
+
966
+ /**
967
+ * Construct a FieldDropdown from a JSON arg object.
968
+ * @param {!Object} options A JSON object with options (options).
969
+ * @return {!FieldDropdown} The new field instance.
970
+ * @package
971
+ * @nocollapse
972
+ */
973
+ function fromJson(options: Object): FieldDropdown;
974
+
975
+ /**
976
+ * Horizontal distance that a checkmark overhangs the dropdown.
977
+ */
978
+ var CHECKMARK_OVERHANG: any /*missing*/;
979
+
980
+ /**
981
+ * Maximum height of the dropdown menu, as a percentage of the viewport height.
982
+ */
983
+ var MAX_MENU_HEIGHT_VH: any /*missing*/;
984
+
985
+ /**
986
+ * Android can't (in 2014) display "▾", so use "▼" instead.
987
+ */
988
+ var ARROW_CHAR: any /*missing*/;
989
+
990
+ /**
991
+ * Use the calculated prefix and suffix lengths to trim all of the options in
992
+ * the given array.
993
+ * @param {!Array<!Array>} options Array of option tuples:
994
+ * (human-readable text or image, language-neutral name).
995
+ * @param {number} prefixLength The length of the common prefix.
996
+ * @param {number} suffixLength The length of the common suffix
997
+ * @return {!Array<!Array>} A new array with all of the option text trimmed.
998
+ */
999
+ function applyTrim_(options: any[][], prefixLength: number, suffixLength: number): any[][];
1000
+ }
1001
+
1002
+
1003
+ declare module FieldImage {
1004
+
1005
+ /**
1006
+ * Construct a FieldImage from a JSON arg object,
1007
+ * dereferencing any string table references.
1008
+ * @param {!Object} options A JSON object with options (src, width, height,
1009
+ * alt, and flipRtl).
1010
+ * @return {!FieldImage} The new field instance.
1011
+ * @package
1012
+ * @nocollapse
1013
+ */
1014
+ function fromJson(options: Object): FieldImage;
1015
+ }
1016
+
1017
+
1018
+ declare module FieldLabel {
1019
+
1020
+ /**
1021
+ * Construct a FieldLabel from a JSON arg object,
1022
+ * dereferencing any string table references.
1023
+ * @param {!Object} options A JSON object with options (text, and class).
1024
+ * @return {!FieldLabel} The new field instance.
1025
+ * @package
1026
+ * @nocollapse
1027
+ */
1028
+ function fromJson(options: Object): FieldLabel;
1029
+ }
1030
+
1031
+
1032
+ declare module FieldLabelSerializable {
1033
+
1034
+ /**
1035
+ * Construct a FieldLabelSerializable from a JSON arg object,
1036
+ * dereferencing any string table references.
1037
+ * @param {!Object} options A JSON object with options (text, and class).
1038
+ * @return {!FieldLabelSerializable} The new field instance.
1039
+ * @package
1040
+ * @nocollapse
1041
+ */
1042
+ function fromJson(options: Object): FieldLabelSerializable;
1043
+ }
1044
+
1045
+
1046
+ declare module FieldMultilineInput {
1047
+
1048
+ /**
1049
+ * Construct a FieldMultilineInput from a JSON arg object,
1050
+ * dereferencing any string table references.
1051
+ * @param {!Object} options A JSON object with options (text, and spellcheck).
1052
+ * @return {!FieldMultilineInput} The new field instance.
1053
+ * @package
1054
+ * @nocollapse
1055
+ */
1056
+ function fromJson(options: Object): FieldMultilineInput;
1057
+ }
1058
+
1059
+
1060
+ declare module FieldNumber {
1061
+
1062
+ /**
1063
+ * Construct a FieldNumber from a JSON arg object.
1064
+ * @param {!Object} options A JSON object with options (value, min, max, and
1065
+ * precision).
1066
+ * @return {!FieldNumber} The new field instance.
1067
+ * @package
1068
+ * @nocollapse
1069
+ */
1070
+ function fromJson(options: Object): FieldNumber;
1071
+ }
1072
+
1073
+
1074
+
1075
+ declare module FieldTextInput {
1076
+
1077
+ /**
1078
+ * Construct a FieldTextInput from a JSON arg object,
1079
+ * dereferencing any string table references.
1080
+ * @param {!Object} options A JSON object with options (text, and spellcheck).
1081
+ * @return {!FieldTextInput} The new field instance.
1082
+ * @package
1083
+ * @nocollapse
1084
+ */
1085
+ function fromJson(options: Object): FieldTextInput;
1086
+
1087
+ /**
1088
+ * Pixel size of input border radius.
1089
+ * Should match blocklyText's border-radius in CSS.
1090
+ */
1091
+ var BORDERRADIUS: any /*missing*/;
1092
+ }
1093
+
1094
+
1095
+ declare module FieldVariable {
1096
+
1097
+ /**
1098
+ * Construct a FieldVariable from a JSON arg object,
1099
+ * dereferencing any string table references.
1100
+ * @param {!Object} options A JSON object with options (variable,
1101
+ * variableTypes, and defaultType).
1102
+ * @return {!FieldVariable} The new field instance.
1103
+ * @package
1104
+ * @nocollapse
1105
+ */
1106
+ function fromJson(options: Object): FieldVariable;
1107
+
1108
+ /**
1109
+ * Return a sorted list of variable names for variable dropdown menus.
1110
+ * Include a special option at the end for creating a new variable name.
1111
+ * @return {!Array<!Array>} Array of variable names/id tuples.
1112
+ * @this {FieldVariable}
1113
+ */
1114
+ function dropdownCreate(): any[][];
1115
+ }
1116
+
1117
+
1118
+
1119
+ declare module FlyoutButton {
1120
+
1121
+ /**
1122
+ * The horizontal margin around the text in the button.
1123
+ */
1124
+ var MARGIN_X: any /*missing*/;
1125
+
1126
+ /**
1127
+ * The vertical margin around the text in the button.
1128
+ */
1129
+ var MARGIN_Y: any /*missing*/;
1130
+ }
1131
+
1132
+
1133
+
1134
+
1135
+ declare module VerticalFlyout {
1136
+
1137
+ /**
1138
+ * The name of the vertical flyout in the registry.
1139
+ * @type {string}
1140
+ */
1141
+ var registryName: string;
1142
+ }
1143
+
1144
+
1145
+
1146
+ declare module Gesture {
1147
+
1148
+ /**
1149
+ * Is a drag or other gesture currently in progress on any workspace?
1150
+ * @return {boolean} True if gesture is occurring.
1151
+ */
1152
+ function inProgress(): boolean;
1153
+ }
1154
+
1155
+
1156
+ declare module Grid {
1157
+
1158
+ /**
1159
+ * Create the DOM for the grid described by options.
1160
+ * @param {string} rnd A random ID to append to the pattern's ID.
1161
+ * @param {!Object} gridOptions The object containing grid configuration.
1162
+ * @param {!SVGElement} defs The root SVG element for this workspace's defs.
1163
+ * @return {!SVGElement} The SVG element for the grid pattern.
1164
+ * @package
1165
+ */
1166
+ function createDom(rnd: string, gridOptions: Object, defs: SVGElement): SVGElement;
1167
+ }
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+
1174
+ declare module InsertionMarkerManager {
1175
+
1176
+ /**
1177
+ * An enum describing different kinds of previews the InsertionMarkerManager
1178
+ * could display.
1179
+ * @enum {number}
1180
+ */
1181
+ enum PREVIEW_TYPE { INSERTION_MARKER, INPUT_OUTLINE, REPLACEMENT_FADE }
1182
+
1183
+ /**
1184
+ * An error message to throw if the block created by createMarkerBlock_ is
1185
+ * missing any components.
1186
+ * @type {string}
1187
+ * @const
1188
+ */
1189
+ var DUPLICATE_BLOCK_ERROR: string;
1190
+ }
1191
+
1192
+
1193
+
1194
+ declare module MarkerManager {
1195
+
1196
+ /**
1197
+ * The name of the local marker.
1198
+ * @type {string}
1199
+ * @const
1200
+ */
1201
+ var LOCAL_MARKER: string;
1202
+ }
1203
+
1204
+
1205
+
1206
+
1207
+ declare module MetricsManager {
1208
+
1209
+ /**
1210
+ * Describes the width, height and location of the toolbox on the main
1211
+ * workspace.
1212
+ * @typedef {{
1213
+ * width: number,
1214
+ * height: number,
1215
+ * position: !toolboxUtils.Position
1216
+ * }}
1217
+ */
1218
+ interface ToolboxMetrics {
1219
+ width: number;
1220
+ height: number;
1221
+ position: toolboxUtils.Position
1222
+ }
1223
+
1224
+ /**
1225
+ * Describes where the viewport starts in relation to the workspace SVG.
1226
+ * @typedef {{
1227
+ * left: number,
1228
+ * top: number
1229
+ * }}
1230
+ */
1231
+ interface AbsoluteMetrics {
1232
+ left: number;
1233
+ top: number
1234
+ }
1235
+
1236
+ /**
1237
+ * All the measurements needed to describe the size and location of a container.
1238
+ * @typedef {{
1239
+ * height: number,
1240
+ * width: number,
1241
+ * top: number,
1242
+ * left: number
1243
+ * }}
1244
+ */
1245
+ interface ContainerRegion {
1246
+ height: number;
1247
+ width: number;
1248
+ top: number;
1249
+ left: number
1250
+ }
1251
+
1252
+ /**
1253
+ * Describes fixed edges of the workspace.
1254
+ * @typedef {{
1255
+ * top: (number|undefined),
1256
+ * bottom: (number|undefined),
1257
+ * left: (number|undefined),
1258
+ * right: (number|undefined)
1259
+ * }}
1260
+ */
1261
+ interface FixedEdges {
1262
+ top: number|any /*undefined*/;
1263
+ bottom: number|any /*undefined*/;
1264
+ left: number|any /*undefined*/;
1265
+ right: number|any /*undefined*/
1266
+ }
1267
+
1268
+ /**
1269
+ * Common metrics used for UI elements.
1270
+ * @typedef {{
1271
+ * viewMetrics: !MetricsManager.ContainerRegion,
1272
+ * absoluteMetrics: !MetricsManager.AbsoluteMetrics,
1273
+ * toolboxMetrics: !MetricsManager.ToolboxMetrics
1274
+ * }}
1275
+ */
1276
+ interface UiMetrics {
1277
+ viewMetrics: MetricsManager.ContainerRegion;
1278
+ absoluteMetrics: MetricsManager.AbsoluteMetrics;
1279
+ toolboxMetrics: MetricsManager.ToolboxMetrics
1280
+ }
1281
+ }
1282
+
1283
+
1284
+ declare module Mutator {
1285
+
1286
+ /**
1287
+ * Reconnect an block to a mutated input.
1288
+ * @param {Connection} connectionChild Connection on child block.
1289
+ * @param {!Block} block Parent block.
1290
+ * @param {string} inputName Name of input on parent block.
1291
+ * @return {boolean} True iff a reconnection was made, false otherwise.
1292
+ */
1293
+ function reconnect(connectionChild: Connection, block: Block, inputName: string): boolean;
1294
+
1295
+ /**
1296
+ * Get the parent workspace of a workspace that is inside a mutator, taking into
1297
+ * account whether it is a flyout.
1298
+ * @param {Workspace} workspace The workspace that is inside a mutator.
1299
+ * @return {?Workspace} The mutator's parent workspace or null.
1300
+ * @public
1301
+ */
1302
+ function findParentWs(workspace: Workspace): Workspace;
1303
+ }
1304
+
1305
+
1306
+ declare module Names {
1307
+
1308
+ /**
1309
+ * Constant to separate developer variable names from user-defined variable
1310
+ * names when running generators.
1311
+ * A developer variable will be declared as a global in the generated code, but
1312
+ * will never be shown to the user in the workspace or stored in the variable
1313
+ * map.
1314
+ */
1315
+ var DEVELOPER_VARIABLE_TYPE: any /*missing*/;
1316
+
1317
+ /**
1318
+ * Do the given two entity names refer to the same entity?
1319
+ * Blockly names are case-insensitive.
1320
+ * @param {string} name1 First name.
1321
+ * @param {string} name2 Second name.
1322
+ * @return {boolean} True if names are the same.
1323
+ */
1324
+ function equals(name1: string, name2: string): boolean;
1325
+ }
1326
+
1327
+
1328
+ declare module Options {
1329
+
1330
+ /**
1331
+ * Grid Options.
1332
+ * @typedef {{
1333
+ * colour: string,
1334
+ * length: number,
1335
+ * snap: boolean,
1336
+ * spacing: number
1337
+ * }}
1338
+ */
1339
+ interface GridOptions {
1340
+ colour: string;
1341
+ length: number;
1342
+ snap: boolean;
1343
+ spacing: number
1344
+ }
1345
+
1346
+ /**
1347
+ * Move Options.
1348
+ * @typedef {{
1349
+ * drag: boolean,
1350
+ * scrollbars: (boolean | !Options.ScrollbarOptions),
1351
+ * wheel: boolean
1352
+ * }}
1353
+ */
1354
+ interface MoveOptions {
1355
+ drag: boolean;
1356
+ scrollbars: boolean|Options.ScrollbarOptions;
1357
+ wheel: boolean
1358
+ }
1359
+
1360
+ /**
1361
+ * Scrollbar Options.
1362
+ * @typedef {{
1363
+ * horizontal: boolean,
1364
+ * vertical: boolean
1365
+ * }}
1366
+ */
1367
+ interface ScrollbarOptions {
1368
+ horizontal: boolean;
1369
+ vertical: boolean
1370
+ }
1371
+
1372
+ /**
1373
+ * Zoom Options.
1374
+ * @typedef {{
1375
+ * controls: boolean,
1376
+ * maxScale: number,
1377
+ * minScale: number,
1378
+ * pinch: boolean,
1379
+ * scaleSpeed: number,
1380
+ * startScale: number,
1381
+ * wheel: boolean
1382
+ * }}
1383
+ */
1384
+ interface ZoomOptions {
1385
+ controls: boolean;
1386
+ maxScale: number;
1387
+ minScale: number;
1388
+ pinch: boolean;
1389
+ scaleSpeed: number;
1390
+ startScale: number;
1391
+ wheel: boolean
1392
+ }
1393
+ }
1394
+
1395
+
1396
+
1397
+
1398
+ declare module Type {
1399
+
1400
+ /** @type {!Type<IConnectionChecker>} */
1401
+ var CONNECTION_CHECKER: Type<IConnectionChecker>;
1402
+
1403
+ /** @type {!Type<Cursor>} */
1404
+ var CURSOR: Type<Cursor>;
1405
+
1406
+ /** @type {!Type<Abstract>} */
1407
+ var EVENT: Type<Abstract>;
1408
+
1409
+ /** @type {!Type<Field>} */
1410
+ var FIELD: Type<Field>;
1411
+
1412
+ /** @type {!Type<Renderer>} */
1413
+ var RENDERER: Type<Renderer>;
1414
+
1415
+ /** @type {!Type<IToolbox>} */
1416
+ var TOOLBOX: Type<IToolbox>;
1417
+
1418
+ /** @type {!Type<Theme>} */
1419
+ var THEME: Type<Theme>;
1420
+
1421
+ /** @type {!Type<ToolboxItem>} */
1422
+ var TOOLBOX_ITEM: Type<ToolboxItem>;
1423
+
1424
+ /** @type {!Type<IFlyout>} */
1425
+ var FLYOUTS_VERTICAL_TOOLBOX: Type<IFlyout>;
1426
+
1427
+ /** @type {!Type<IFlyout>} */
1428
+ var FLYOUTS_HORIZONTAL_TOOLBOX: Type<IFlyout>;
1429
+
1430
+ /** @type {!Type<IMetricsManager>} */
1431
+ var METRICS_MANAGER: Type<IMetricsManager>;
1432
+
1433
+ /** @type {!Type<IBlockDragger>} */
1434
+ var BLOCK_DRAGGER: Type<IBlockDragger>;
1435
+
1436
+ /**
1437
+ * @type {!Type<ISerializer>}
1438
+ * @package
1439
+ */
1440
+ var SERIALIZER: Type<ISerializer>;
1441
+ }
1442
+
1443
+
1444
+ declare module RenderedConnection {
1445
+
1446
+ /**
1447
+ * Enum for different kinds of tracked states.
1448
+ *
1449
+ * WILL_TRACK means that this connection will add itself to
1450
+ * the db on the next moveTo call it receives.
1451
+ *
1452
+ * UNTRACKED means that this connection will not add
1453
+ * itself to the database until setTracking(true) is explicitly called.
1454
+ *
1455
+ * TRACKED means that this connection is currently being tracked.
1456
+ * @enum {number}
1457
+ */
1458
+ enum TrackedState { WILL_TRACK, UNTRACKED, TRACKED }
1459
+ }
1460
+
1461
+
1462
+
1463
+ declare module Scrollbar {
1464
+
1465
+ /**
1466
+ * Width of vertical scrollbar or height of horizontal scrollbar in CSS pixels.
1467
+ * Scrollbars should be larger on touch devices.
1468
+ */
1469
+ var scrollbarThickness: any /*missing*/;
1470
+
1471
+ /**
1472
+ * Default margin around the scrollbar (between the scrollbar and the edge of
1473
+ * the viewport in pixels).
1474
+ * @type {number}
1475
+ * @const
1476
+ * @package
1477
+ */
1478
+ var DEFAULT_SCROLLBAR_MARGIN: number;
1479
+ }
1480
+
1481
+
1482
+
1483
+
1484
+ declare module ShortcutRegistry {
1485
+
1486
+ /**
1487
+ * Enum of valid modifiers.
1488
+ * @enum {!KeyCodes<number>}
1489
+ */
1490
+ enum modifierKeys { Shift, Control, Alt, Meta }
1491
+
1492
+ /**
1493
+ * A keyboard shortcut.
1494
+ * @typedef {{
1495
+ * callback: ((function(!Workspace, Event,
1496
+ * !ShortcutRegistry.KeyboardShortcut):boolean)|undefined),
1497
+ * name: string,
1498
+ * preconditionFn: ((function(!Workspace):boolean)|undefined),
1499
+ * metadata: (Object|undefined)
1500
+ * }}
1501
+ */
1502
+ interface KeyboardShortcut {
1503
+ callback: { (_0: Workspace, _1: Event, _2: ShortcutRegistry.KeyboardShortcut): boolean }|any /*undefined*/;
1504
+ name: string;
1505
+ preconditionFn: { (_0: Workspace): boolean }|any /*undefined*/;
1506
+ metadata: Object|any /*undefined*/
1507
+ }
1508
+ }
1509
+
1510
+
1511
+ declare module Theme {
1512
+
1513
+ /**
1514
+ * A block style.
1515
+ * @typedef {{
1516
+ * colourPrimary:string,
1517
+ * colourSecondary:string,
1518
+ * colourTertiary:string,
1519
+ * hat:string
1520
+ * }}
1521
+ */
1522
+ interface BlockStyle {
1523
+ colourPrimary: string;
1524
+ colourSecondary: string;
1525
+ colourTertiary: string;
1526
+ hat: string
1527
+ }
1528
+
1529
+ /**
1530
+ * A category style.
1531
+ * @typedef {{
1532
+ * colour:string
1533
+ * }}
1534
+ */
1535
+ interface CategoryStyle {
1536
+ colour: string
1537
+ }
1538
+
1539
+ /**
1540
+ * A component style.
1541
+ * @typedef {{
1542
+ * workspaceBackgroundColour:?string,
1543
+ * toolboxBackgroundColour:?string,
1544
+ * toolboxForegroundColour:?string,
1545
+ * flyoutBackgroundColour:?string,
1546
+ * flyoutForegroundColour:?string,
1547
+ * flyoutOpacity:?number,
1548
+ * scrollbarColour:?string,
1549
+ * scrollbarOpacity:?number,
1550
+ * insertionMarkerColour:?string,
1551
+ * insertionMarkerOpacity:?number,
1552
+ * markerColour:?string,
1553
+ * cursorColour:?string,
1554
+ * selectedGlowColour:?string,
1555
+ * selectedGlowOpacity:?number,
1556
+ * replacementGlowColour:?string,
1557
+ * replacementGlowOpacity:?number
1558
+ * }}
1559
+ */
1560
+ interface ComponentStyle {
1561
+ workspaceBackgroundColour: string;
1562
+ toolboxBackgroundColour: string;
1563
+ toolboxForegroundColour: string;
1564
+ flyoutBackgroundColour: string;
1565
+ flyoutForegroundColour: string;
1566
+ flyoutOpacity: number;
1567
+ scrollbarColour: string;
1568
+ scrollbarOpacity: number;
1569
+ insertionMarkerColour: string;
1570
+ insertionMarkerOpacity: number;
1571
+ markerColour: string;
1572
+ cursorColour: string;
1573
+ selectedGlowColour: string;
1574
+ selectedGlowOpacity: number;
1575
+ replacementGlowColour: string;
1576
+ replacementGlowOpacity: number
1577
+ }
1578
+
1579
+ /**
1580
+ * A font style.
1581
+ * @typedef {{
1582
+ * family:?string,
1583
+ * weight:?string,
1584
+ * size:?number
1585
+ * }}
1586
+ */
1587
+ interface FontStyle {
1588
+ family: string;
1589
+ weight: string;
1590
+ size: number
1591
+ }
1592
+
1593
+ /**
1594
+ * Define a new Blockly theme.
1595
+ * @param {string} name The name of the theme.
1596
+ * @param {!Object} themeObj An object containing theme properties.
1597
+ * @return {!Theme} A new Blockly theme.
1598
+ */
1599
+ function defineTheme(name: string, themeObj: Object): Theme;
1600
+ }
1601
+
1602
+
1603
+ declare module ThemeManager {
1604
+
1605
+ /**
1606
+ * A Blockly UI component type.
1607
+ * @typedef {{
1608
+ * element:!Element,
1609
+ * propertyName:string
1610
+ * }}
1611
+ */
1612
+ interface Component {
1613
+ element: Element;
1614
+ propertyName: string
1615
+ }
1616
+ }
1617
+
1618
+
1619
+
1620
+
1621
+ declare module TouchGesture {
1622
+
1623
+ /**
1624
+ * A multiplier used to convert the gesture scale to a zoom in delta.
1625
+ * @const
1626
+ */
1627
+ var ZOOM_IN_MULTIPLIER: any /*missing*/;
1628
+
1629
+ /**
1630
+ * A multiplier used to convert the gesture scale to a zoom out delta.
1631
+ * @const
1632
+ */
1633
+ var ZOOM_OUT_MULTIPLIER: any /*missing*/;
1634
+ }
1635
+
1636
+
1637
+
1638
+
1639
+
1640
+ declare module VariableModel {
1641
+
1642
+ /**
1643
+ * A custom compare function for the VariableModel objects.
1644
+ * @param {VariableModel} var1 First variable to compare.
1645
+ * @param {VariableModel} var2 Second variable to compare.
1646
+ * @return {number} -1 if name of var1 is less than name of var2, 0 if equal,
1647
+ * and 1 if greater.
1648
+ * @package
1649
+ */
1650
+ function compareByName(var1: VariableModel, var2: VariableModel): number;
1651
+ }
1652
+
1653
+
1654
+
1655
+
1656
+
1657
+
1658
+ declare module Workspace {
1659
+
1660
+ /**
1661
+ * Angle away from the horizontal to sweep for blocks. Order of execution is
1662
+ * generally top to bottom, but a small angle changes the scan to give a bit of
1663
+ * a left to right bias (reversed in RTL). Units are in degrees.
1664
+ * See: https://tvtropes.org/pmwiki/pmwiki.php/Main/DiagonalBilling
1665
+ */
1666
+ var SCAN_ANGLE: any /*missing*/;
1667
+
1668
+ /**
1669
+ * Find the workspace with the specified ID.
1670
+ * @param {string} id ID of workspace to find.
1671
+ * @return {?Workspace} The sought after workspace or null if not found.
1672
+ */
1673
+ function getById(id: string): Workspace;
1674
+
1675
+ /**
1676
+ * Find all workspaces.
1677
+ * @return {!Array<!Workspace>} Array of workspaces.
1678
+ */
1679
+ function getAll(): Workspace[];
1680
+ }
1681
+
1682
+
1683
+
1684
+ declare module WorkspaceComment {
1685
+
1686
+ /**
1687
+ * Fire a create event for the given workspace comment, if comments are enabled.
1688
+ * @param {!WorkspaceComment} comment The comment that was just created.
1689
+ * @package
1690
+ */
1691
+ function fireCreateEvent(comment: WorkspaceComment): void;
1692
+
1693
+ /**
1694
+ * Decode an XML comment tag and create a comment on the workspace.
1695
+ * @param {!Element} xmlComment XML comment element.
1696
+ * @param {!Workspace} workspace The workspace.
1697
+ * @return {!WorkspaceComment} The created workspace comment.
1698
+ * @package
1699
+ */
1700
+ function fromXml(xmlComment: Element, workspace: Workspace): WorkspaceComment;
1701
+
1702
+ /**
1703
+ * Decode an XML comment tag and return the results in an object.
1704
+ * @param {!Element} xml XML comment element.
1705
+ * @return {{w: number, h: number, x: number, y: number, content: string}} An
1706
+ * object containing the id, size, position, and comment string.
1707
+ * @package
1708
+ */
1709
+ function parseAttributes(xml: Element): { w: number; h: number; x: number; y: number; content: string };
1710
+ }
1711
+
1712
+
1713
+ declare module WorkspaceCommentSvg {
1714
+
1715
+ /**
1716
+ * The width and height to use to size a workspace comment when it is first
1717
+ * added, before it has been edited by the user.
1718
+ * @type {number}
1719
+ * @package
1720
+ */
1721
+ var DEFAULT_SIZE: number;
1722
+
1723
+ /**
1724
+ * Decode an XML comment tag and create a rendered comment on the workspace.
1725
+ * @param {!Element} xmlComment XML comment element.
1726
+ * @param {!WorkspaceSvg} workspace The workspace.
1727
+ * @param {number=} opt_wsWidth The width of the workspace, which is used to
1728
+ * position comments correctly in RTL.
1729
+ * @return {!WorkspaceCommentSvg} The created workspace comment.
1730
+ * @package
1731
+ */
1732
+ function fromXml(xmlComment: Element, workspace: WorkspaceSvg, opt_wsWidth?: number): WorkspaceCommentSvg;
1733
+ }
1734
+
1735
+
1736
+
1737
+
1738
+
1739
+
1740
+
1741
+
1742
+
1743
+
1744
+ declare module BlockChange {
1745
+
1746
+ /**
1747
+ * Returns the extra state of the given block (either as XML or a JSO, depending
1748
+ * on the block's definition).
1749
+ * @param {!BlockSvg} block The block to get the extra state of.
1750
+ * @return {string} A stringified version of the extra state of the given block.
1751
+ * @package
1752
+ */
1753
+ function getExtraBlockState_(block: BlockSvg): string;
1754
+ }
1755
+
1756
+
1757
+
1758
+
1759
+
1760
+
1761
+
1762
+
1763
+ declare module CommentBase {
1764
+
1765
+ /**
1766
+ * Helper function for Comment[Create|Delete]
1767
+ * @param {!CommentCreate|!CommentDelete} event
1768
+ * The event to run.
1769
+ * @param {boolean} create if True then Create, if False then Delete
1770
+ */
1771
+ function CommentCreateDeleteHelper(event: CommentCreate|CommentDelete, create: boolean): void;
1772
+ }
1773
+
1774
+
1775
+
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1783
+
1784
+
1785
+
1786
+
1787
+
1788
+
1789
+
1790
+
1791
+
1792
+
1793
+
1794
+
1795
+
1796
+
1797
+
1798
+
1799
+
1800
+
1801
+ declare module IComponent {
1802
+
1803
+ /**
1804
+ * The unique id for this component that is used to register with the
1805
+ * ComponentManager.
1806
+ * @type {string}
1807
+ */
1808
+ var id: string;
1809
+ }
1810
+
1811
+
1812
+
1813
+
1814
+ declare module ICopyable {
1815
+
1816
+ /**
1817
+ * Copy Metadata.
1818
+ * @typedef {{
1819
+ * saveInfo:(!Object|!Element),
1820
+ * source:WorkspaceSvg,
1821
+ * typeCounts:?Object
1822
+ * }}
1823
+ */
1824
+ interface CopyData {
1825
+ saveInfo: Object|Element;
1826
+ source: WorkspaceSvg;
1827
+ typeCounts: Object
1828
+ }
1829
+ }
1830
+
1831
+
1832
+
1833
+
1834
+
1835
+
1836
+
1837
+
1838
+
1839
+
1840
+
1841
+
1842
+ declare module IRegistrableField {
1843
+
1844
+ /**
1845
+ * @typedef {function(!Object): Field}
1846
+ */
1847
+ interface fromJson {
1848
+ (_0: Object): Field
1849
+ }
1850
+ }
1851
+
1852
+
1853
+
1854
+
1855
+
1856
+
1857
+
1858
+
1859
+ declare module ASTNode {
1860
+
1861
+ /**
1862
+ * @typedef {{
1863
+ * wsCoordinate: Coordinate
1864
+ * }}
1865
+ */
1866
+ interface Params {
1867
+ wsCoordinate: Coordinate
1868
+ }
1869
+
1870
+ /**
1871
+ * Object holding different types for an AST node.
1872
+ * @enum {string}
1873
+ */
1874
+ enum types { FIELD, BLOCK, INPUT, OUTPUT, NEXT, PREVIOUS, STACK, WORKSPACE }
1875
+
1876
+ /**
1877
+ * True to navigate to all fields. False to only navigate to clickable fields.
1878
+ * @type {boolean}
1879
+ */
1880
+ var NAVIGATE_ALL_FIELDS: boolean;
1881
+
1882
+ /**
1883
+ * Create an AST node pointing to a field.
1884
+ * @param {Field} field The location of the AST node.
1885
+ * @return {ASTNode} An AST node pointing to a field.
1886
+ */
1887
+ function createFieldNode(field: Field): ASTNode;
1888
+
1889
+ /**
1890
+ * Creates an AST node pointing to a connection. If the connection has a parent
1891
+ * input then create an AST node of type input that will hold the connection.
1892
+ * @param {Connection} connection This is the connection the node will
1893
+ * point to.
1894
+ * @return {ASTNode} An AST node pointing to a connection.
1895
+ */
1896
+ function createConnectionNode(connection: Connection): ASTNode;
1897
+
1898
+ /**
1899
+ * Creates an AST node pointing to an input. Stores the input connection as the
1900
+ * location.
1901
+ * @param {Input} input The input used to create an AST node.
1902
+ * @return {ASTNode} An AST node pointing to a input.
1903
+ */
1904
+ function createInputNode(input: Input): ASTNode;
1905
+
1906
+ /**
1907
+ * Creates an AST node pointing to a block.
1908
+ * @param {Block} block The block used to create an AST node.
1909
+ * @return {ASTNode} An AST node pointing to a block.
1910
+ */
1911
+ function createBlockNode(block: Block): ASTNode;
1912
+
1913
+ /**
1914
+ * Create an AST node of type stack. A stack, represented by its top block, is
1915
+ * the set of all blocks connected to a top block, including the top block.
1916
+ * @param {Block} topBlock A top block has no parent and can be found
1917
+ * in the list returned by workspace.getTopBlocks().
1918
+ * @return {ASTNode} An AST node of type stack that points to the top
1919
+ * block on the stack.
1920
+ */
1921
+ function createStackNode(topBlock: Block): ASTNode;
1922
+
1923
+ /**
1924
+ * Creates an AST node pointing to a workspace.
1925
+ * @param {!Workspace} workspace The workspace that we are on.
1926
+ * @param {Coordinate} wsCoordinate The position on the workspace
1927
+ * for this node.
1928
+ * @return {ASTNode} An AST node pointing to a workspace and a position
1929
+ * on the workspace.
1930
+ */
1931
+ function createWorkspaceNode(workspace: Workspace, wsCoordinate: Coordinate): ASTNode;
1932
+
1933
+ /**
1934
+ * Creates an AST node for the top position on a block.
1935
+ * This is either an output connection, previous connection, or block.
1936
+ * @param {!Block} block The block to find the top most AST node on.
1937
+ * @return {ASTNode} The AST node holding the top most position on the
1938
+ * block.
1939
+ */
1940
+ function createTopNode(block: Block): ASTNode;
1941
+ }
1942
+
1943
+
1944
+ declare module BasicCursor {
1945
+
1946
+ /**
1947
+ * Name used for registering a basic cursor.
1948
+ * @const {string}
1949
+ */
1950
+ var registrationName: any /*missing*/;
1951
+ }
1952
+
1953
+
1954
+
1955
+
1956
+
1957
+
1958
+
1959
+ declare module exports {
1960
+
1961
+ /**
1962
+ * The priority for deserializing variables.
1963
+ * @type {number}
1964
+ * @const
1965
+ * @alias Blockly.serialization.priorities.VARIABLES
1966
+ */
1967
+ var VARIABLES: number;
1968
+
1969
+ /**
1970
+ * The priority for deserializing blocks.
1971
+ * @type {number}
1972
+ * @const
1973
+ * @alias Blockly.serialization.priorities.BLOCKS
1974
+ */
1975
+ var BLOCKS: number;
1976
+ }
1977
+
1978
+
1979
+
1980
+
1981
+
1982
+
1983
+
1984
+
1985
+ declare module ToolboxCategory {
1986
+
1987
+ /**
1988
+ * All the CSS class names that are used to create a category.
1989
+ * @typedef {{
1990
+ * container:(string|undefined),
1991
+ * row:(string|undefined),
1992
+ * rowcontentcontainer:(string|undefined),
1993
+ * icon:(string|undefined),
1994
+ * label:(string|undefined),
1995
+ * selected:(string|undefined),
1996
+ * openicon:(string|undefined),
1997
+ * closedicon:(string|undefined)
1998
+ * }}
1999
+ */
2000
+ interface CssConfig {
2001
+ container: string|any /*undefined*/;
2002
+ row: string|any /*undefined*/;
2003
+ rowcontentcontainer: string|any /*undefined*/;
2004
+ icon: string|any /*undefined*/;
2005
+ label: string|any /*undefined*/;
2006
+ selected: string|any /*undefined*/;
2007
+ openicon: string|any /*undefined*/;
2008
+ closedicon: string|any /*undefined*/
2009
+ }
2010
+
2011
+ /**
2012
+ * Name used for registering a toolbox category.
2013
+ * @const {string}
2014
+ */
2015
+ var registrationName: any /*missing*/;
2016
+
2017
+ /**
2018
+ * The number of pixels to move the category over at each nested level.
2019
+ * @type {number}
2020
+ */
2021
+ var nestedPadding: number;
2022
+
2023
+ /**
2024
+ * The width in pixels of the strip of colour next to each category.
2025
+ * @type {number}
2026
+ */
2027
+ var borderWidth: number;
2028
+
2029
+ /**
2030
+ * The default colour of the category. This is used as the background colour of
2031
+ * the category when it is selected.
2032
+ * @type {string}
2033
+ */
2034
+ var defaultBackgroundColour: string;
2035
+ }
2036
+
2037
+
2038
+ declare module CollapsibleToolboxCategory {
2039
+
2040
+ /**
2041
+ * All the CSS class names that are used to create a collapsible
2042
+ * category. This is all the properties from the regular category plus contents.
2043
+ * @typedef {{
2044
+ * container:?string,
2045
+ * row:?string,
2046
+ * rowcontentcontainer:?string,
2047
+ * icon:?string,
2048
+ * label:?string,
2049
+ * selected:?string,
2050
+ * openicon:?string,
2051
+ * closedicon:?string,
2052
+ * contents:?string
2053
+ * }}
2054
+ */
2055
+ interface CssConfig {
2056
+ container: string;
2057
+ row: string;
2058
+ rowcontentcontainer: string;
2059
+ icon: string;
2060
+ label: string;
2061
+ selected: string;
2062
+ openicon: string;
2063
+ closedicon: string;
2064
+ contents: string
2065
+ }
2066
+
2067
+ /**
2068
+ * Name used for registering a collapsible toolbox category.
2069
+ * @const {string}
2070
+ */
2071
+ var registrationName: any /*missing*/;
2072
+ }
2073
+
2074
+
2075
+ declare module ToolboxSeparator {
2076
+
2077
+ /**
2078
+ * All the CSS class names that are used to create a separator.
2079
+ * @typedef {{
2080
+ * container:(string|undefined)
2081
+ * }}
2082
+ */
2083
+ interface CssConfig {
2084
+ container: string|any /*undefined*/
2085
+ }
2086
+
2087
+ /**
2088
+ * Name used for registering a toolbox separator.
2089
+ * @const {string}
2090
+ */
2091
+ var registrationName: any /*missing*/;
2092
+ }
2093
+
2094
+
2095
+
2096
+
2097
+
2098
+
2099
+
2100
+ declare module Coordinate {
2101
+
2102
+ /**
2103
+ * Compares coordinates for equality.
2104
+ * @param {?Coordinate} a A Coordinate.
2105
+ * @param {?Coordinate} b A Coordinate.
2106
+ * @return {boolean} True iff the coordinates are equal, or if both are null.
2107
+ */
2108
+ function equals(a: Coordinate, b: Coordinate): boolean;
2109
+
2110
+ /**
2111
+ * Returns the distance between two coordinates.
2112
+ * @param {!Coordinate} a A Coordinate.
2113
+ * @param {!Coordinate} b A Coordinate.
2114
+ * @return {number} The distance between `a` and `b`.
2115
+ */
2116
+ function distance(a: Coordinate, b: Coordinate): number;
2117
+
2118
+ /**
2119
+ * Returns the magnitude of a coordinate.
2120
+ * @param {!Coordinate} a A Coordinate.
2121
+ * @return {number} The distance between the origin and `a`.
2122
+ */
2123
+ function magnitude(a: Coordinate): number;
2124
+
2125
+ /**
2126
+ * Returns the difference between two coordinates as a new
2127
+ * Coordinate.
2128
+ * @param {!Coordinate|!SVGPoint} a An x/y coordinate.
2129
+ * @param {!Coordinate|!SVGPoint} b An x/y coordinate.
2130
+ * @return {!Coordinate} A Coordinate representing the difference
2131
+ * between `a` and `b`.
2132
+ */
2133
+ function difference(a: Coordinate|SVGPoint, b: Coordinate|SVGPoint): Coordinate;
2134
+
2135
+ /**
2136
+ * Returns the sum of two coordinates as a new Coordinate.
2137
+ * @param {!Coordinate|!SVGPoint} a An x/y coordinate.
2138
+ * @param {!Coordinate|!SVGPoint} b An x/y coordinate.
2139
+ * @return {!Coordinate} A Coordinate representing the sum of
2140
+ * the two coordinates.
2141
+ */
2142
+ function sum(a: Coordinate|SVGPoint, b: Coordinate|SVGPoint): Coordinate;
2143
+ }
2144
+
2145
+
2146
+
2147
+
2148
+ declare module exports {
2149
+
2150
+ /**
2151
+ * Reference to the global object.
2152
+ *
2153
+ * More info on this implementation here:
2154
+ * https://docs.google.com/document/d/1NAeW4Wk7I7FV0Y2tcUFvQdGMc89k2vdgSXInw8_nvCI
2155
+ */
2156
+ var globalThis: any /*missing*/;
2157
+ }
2158
+
2159
+
2160
+ declare module internal {
2161
+
2162
+ /**
2163
+ * Generate a random unique ID. This should be globally unique.
2164
+ * 87 characters ^ 20 length > 128 bits (better than a UUID).
2165
+ * @return {string} A globally unique ID string.
2166
+ */
2167
+ function genUid(): string;
2168
+ }
2169
+
2170
+
2171
+
2172
+
2173
+
2174
+
2175
+
2176
+
2177
+ declare module Size {
2178
+
2179
+ /**
2180
+ * Compares sizes for equality.
2181
+ * @param {?Size} a A Size.
2182
+ * @param {?Size} b A Size.
2183
+ * @return {boolean} True iff the sizes have equal widths and equal
2184
+ * heights, or if both are null.
2185
+ */
2186
+ function equals(a: Size, b: Size): boolean;
2187
+ }
2188
+
2189
+
2190
+
2191
+
2192
+ declare module Svg {
2193
+
2194
+ /**
2195
+ * @type {!Svg<!SVGAnimateElement>}
2196
+ * @package
2197
+ */
2198
+ var ANIMATE: Svg<SVGAnimateElement>;
2199
+
2200
+ /**
2201
+ * @type {!Svg<!SVGCircleElement>}
2202
+ * @package
2203
+ */
2204
+ var CIRCLE: Svg<SVGCircleElement>;
2205
+
2206
+ /**
2207
+ * @type {!Svg<!SVGClipPathElement>}
2208
+ * @package
2209
+ */
2210
+ var CLIPPATH: Svg<SVGClipPathElement>;
2211
+
2212
+ /**
2213
+ * @type {!Svg<!SVGDefsElement>}
2214
+ * @package
2215
+ */
2216
+ var DEFS: Svg<SVGDefsElement>;
2217
+
2218
+ /**
2219
+ * @type {!Svg<!SVGFECompositeElement>}
2220
+ * @package
2221
+ */
2222
+ var FECOMPOSITE: Svg<SVGFECompositeElement>;
2223
+
2224
+ /**
2225
+ * @type {!Svg<!SVGFEComponentTransferElement>}
2226
+ * @package
2227
+ */
2228
+ var FECOMPONENTTRANSFER: Svg<SVGFEComponentTransferElement>;
2229
+
2230
+ /**
2231
+ * @type {!Svg<!SVGFEFloodElement>}
2232
+ * @package
2233
+ */
2234
+ var FEFLOOD: Svg<SVGFEFloodElement>;
2235
+
2236
+ /**
2237
+ * @type {!Svg<!SVGFEFuncAElement>}
2238
+ * @package
2239
+ */
2240
+ var FEFUNCA: Svg<SVGFEFuncAElement>;
2241
+
2242
+ /**
2243
+ * @type {!Svg<!SVGFEGaussianBlurElement>}
2244
+ * @package
2245
+ */
2246
+ var FEGAUSSIANBLUR: Svg<SVGFEGaussianBlurElement>;
2247
+
2248
+ /**
2249
+ * @type {!Svg<!SVGFEPointLightElement>}
2250
+ * @package
2251
+ */
2252
+ var FEPOINTLIGHT: Svg<SVGFEPointLightElement>;
2253
+
2254
+ /**
2255
+ * @type {!Svg<!SVGFESpecularLightingElement>}
2256
+ * @package
2257
+ */
2258
+ var FESPECULARLIGHTING: Svg<SVGFESpecularLightingElement>;
2259
+
2260
+ /**
2261
+ * @type {!Svg<!SVGFilterElement>}
2262
+ * @package
2263
+ */
2264
+ var FILTER: Svg<SVGFilterElement>;
2265
+
2266
+ /**
2267
+ * @type {!Svg<!SVGForeignObjectElement>}
2268
+ * @package
2269
+ */
2270
+ var FOREIGNOBJECT: Svg<SVGForeignObjectElement>;
2271
+
2272
+ /**
2273
+ * @type {!Svg<!SVGGElement>}
2274
+ * @package
2275
+ */
2276
+ var G: Svg<SVGGElement>;
2277
+
2278
+ /**
2279
+ * @type {!Svg<!SVGImageElement>}
2280
+ * @package
2281
+ */
2282
+ var IMAGE: Svg<SVGImageElement>;
2283
+
2284
+ /**
2285
+ * @type {!Svg<!SVGLineElement>}
2286
+ * @package
2287
+ */
2288
+ var LINE: Svg<SVGLineElement>;
2289
+
2290
+ /**
2291
+ * @type {!Svg<!SVGPathElement>}
2292
+ * @package
2293
+ */
2294
+ var PATH: Svg<SVGPathElement>;
2295
+
2296
+ /**
2297
+ * @type {!Svg<!SVGPatternElement>}
2298
+ * @package
2299
+ */
2300
+ var PATTERN: Svg<SVGPatternElement>;
2301
+
2302
+ /**
2303
+ * @type {!Svg<!SVGPolygonElement>}
2304
+ * @package
2305
+ */
2306
+ var POLYGON: Svg<SVGPolygonElement>;
2307
+
2308
+ /**
2309
+ * @type {!Svg<!SVGRectElement>}
2310
+ * @package
2311
+ */
2312
+ var RECT: Svg<SVGRectElement>;
2313
+
2314
+ /**
2315
+ * @type {!Svg<!SVGSVGElement>}
2316
+ * @package
2317
+ */
2318
+ var SVG: Svg<SVGSVGElement>;
2319
+
2320
+ /**
2321
+ * @type {!Svg<!SVGTextElement>}
2322
+ * @package
2323
+ */
2324
+ var TEXT: Svg<SVGTextElement>;
2325
+
2326
+ /**
2327
+ * @type {!Svg<!SVGTSpanElement>}
2328
+ * @package
2329
+ */
2330
+ var TSPAN: Svg<SVGTSpanElement>;
2331
+ }
2332
+
2333
+
2334
+
2335
+
2336
+
2337
+ declare module exports {
2338
+
2339
+ /**
2340
+ * @const {string}
2341
+ * @alias Blockly.utils.userAgent.raw
2342
+ */
2343
+ var raw: any /*missing*/;
2344
+
2345
+ /**
2346
+ * @const {boolean}
2347
+ * @alias Blockly.utils.userAgent.IE
2348
+ */
2349
+ var IE: any /*missing*/;
2350
+
2351
+ /**
2352
+ * @const {boolean}
2353
+ * @alias Blockly.utils.userAgent.EDGE
2354
+ */
2355
+ var EDGE: any /*missing*/;
2356
+
2357
+ /**
2358
+ * @const {boolean}
2359
+ * @alias Blockly.utils.userAgent.JavaFx
2360
+ */
2361
+ var JavaFx: any /*missing*/;
2362
+
2363
+ /**
2364
+ * @const {boolean}
2365
+ * @alias Blockly.utils.userAgent.CHROME
2366
+ */
2367
+ var CHROME: any /*missing*/;
2368
+
2369
+ /**
2370
+ * @const {boolean}
2371
+ * @alias Blockly.utils.userAgent.WEBKIT
2372
+ */
2373
+ var WEBKIT: any /*missing*/;
2374
+
2375
+ /**
2376
+ * @const {boolean}
2377
+ * @alias Blockly.utils.userAgent.GECKO
2378
+ */
2379
+ var GECKO: any /*missing*/;
2380
+
2381
+ /**
2382
+ * @const {boolean}
2383
+ * @alias Blockly.utils.userAgent.ANDROID
2384
+ */
2385
+ var ANDROID: any /*missing*/;
2386
+
2387
+ /**
2388
+ * @const {boolean}
2389
+ * @alias Blockly.utils.userAgent.IPAD
2390
+ */
2391
+ var IPAD: any /*missing*/;
2392
+
2393
+ /**
2394
+ * @const {boolean}
2395
+ * @alias Blockly.utils.userAgent.IPOD
2396
+ */
2397
+ var IPOD: any /*missing*/;
2398
+
2399
+ /**
2400
+ * @const {boolean}
2401
+ * @alias Blockly.utils.userAgent.IPHONE
2402
+ */
2403
+ var IPHONE: any /*missing*/;
2404
+
2405
+ /**
2406
+ * @const {boolean}
2407
+ * @alias Blockly.utils.userAgent.MAC
2408
+ */
2409
+ var MAC: any /*missing*/;
2410
+
2411
+ /**
2412
+ * @const {boolean}
2413
+ * @alias Blockly.utils.userAgent.TABLET
2414
+ */
2415
+ var TABLET: any /*missing*/;
2416
+
2417
+ /**
2418
+ * @const {boolean}
2419
+ * @alias Blockly.utils.userAgent.MOBILE
2420
+ */
2421
+ var MOBILE: any /*missing*/;
2422
+ }
2423
+
2424
+
2425
+
2426
+
2427
+
2428
+
2429
+ declare module Debug {
2430
+
2431
+ /**
2432
+ * Configuration object containing booleans to enable and disable debug
2433
+ * rendering of specific rendering components.
2434
+ * @type {!Object<string, boolean>}
2435
+ */
2436
+ var config: { [key: string]: boolean };
2437
+ }
2438
+
2439
+
2440
+
2441
+
2442
+
2443
+
2444
+
2445
+
2446
+
2447
+
2448
+
2449
+
2450
+
2451
+
2452
+
2453
+
2454
+
2455
+
2456
+
2457
+
2458
+
2459
+
2460
+
2461
+
2462
+
2463
+
2464
+
2465
+
2466
+
2467
+ declare module Types {
2468
+
2469
+ /**
2470
+ * A Left Corner Union Type.
2471
+ * @type {number}
2472
+ * @const
2473
+ * @package
2474
+ */
2475
+ var LEFT_CORNER: number;
2476
+
2477
+ /**
2478
+ * A Right Corner Union Type.
2479
+ * @type {number}
2480
+ * @const
2481
+ * @package
2482
+ */
2483
+ var RIGHT_CORNER: number;
2484
+
2485
+ /**
2486
+ * Get the enum flag value of an existing type or register a new type.
2487
+ * @param {!string} type The name of the type.
2488
+ * @return {!number} The enum flag value associated with that type.
2489
+ * @package
2490
+ */
2491
+ function getType(type: string): number;
2492
+
2493
+ /**
2494
+ * Whether a measurable stores information about a field.
2495
+ * @param {!Measurable} elem The element to check.
2496
+ * @return {number} 1 if the object stores information about a field.
2497
+ * @package
2498
+ */
2499
+ function isField(elem: Measurable): number;
2500
+
2501
+ /**
2502
+ * Whether a measurable stores information about a hat.
2503
+ * @param {!Measurable} elem The element to check.
2504
+ * @return {number} 1 if the object stores information about a hat.
2505
+ * @package
2506
+ */
2507
+ function isHat(elem: Measurable): number;
2508
+
2509
+ /**
2510
+ * Whether a measurable stores information about an icon.
2511
+ * @param {!Measurable} elem The element to check.
2512
+ * @return {number} 1 if the object stores information about an icon.
2513
+ * @package
2514
+ */
2515
+ function isIcon(elem: Measurable): number;
2516
+
2517
+ /**
2518
+ * Whether a measurable stores information about a spacer.
2519
+ * @param {!Measurable|!Row} elem
2520
+ * The element to check.
2521
+ * @return {number} 1 if the object stores information about a spacer.
2522
+ * @package
2523
+ */
2524
+ function isSpacer(elem: Measurable|Row): number;
2525
+
2526
+ /**
2527
+ * Whether a measurable stores information about an in-row spacer.
2528
+ * @param {!Measurable} elem The element to check.
2529
+ * @return {number} 1 if the object stores information about an
2530
+ * in-row spacer.
2531
+ * @package
2532
+ */
2533
+ function isInRowSpacer(elem: Measurable): number;
2534
+
2535
+ /**
2536
+ * Whether a measurable stores information about an input.
2537
+ * @param {!Measurable} elem The element to check.
2538
+ * @return {number} 1 if the object stores information about an input.
2539
+ * @package
2540
+ */
2541
+ function isInput(elem: Measurable): number;
2542
+
2543
+ /**
2544
+ * Whether a measurable stores information about an external input.
2545
+ * @param {!Measurable} elem The element to check.
2546
+ * @return {number} 1 if the object stores information about an
2547
+ * external input.
2548
+ * @package
2549
+ */
2550
+ function isExternalInput(elem: Measurable): number;
2551
+
2552
+ /**
2553
+ * Whether a measurable stores information about an inline input.
2554
+ * @param {!Measurable} elem The element to check.
2555
+ * @return {number} 1 if the object stores information about an
2556
+ * inline input.
2557
+ * @package
2558
+ */
2559
+ function isInlineInput(elem: Measurable): number;
2560
+
2561
+ /**
2562
+ * Whether a measurable stores information about a statement input.
2563
+ * @param {!Measurable} elem The element to check.
2564
+ * @return {number} 1 if the object stores information about a
2565
+ * statement input.
2566
+ * @package
2567
+ */
2568
+ function isStatementInput(elem: Measurable): number;
2569
+
2570
+ /**
2571
+ * Whether a measurable stores information about a previous connection.
2572
+ * @param {!Measurable} elem The element to check.
2573
+ * @return {number} 1 if the object stores information about a
2574
+ * previous connection.
2575
+ * @package
2576
+ */
2577
+ function isPreviousConnection(elem: Measurable): number;
2578
+
2579
+ /**
2580
+ * Whether a measurable stores information about a next connection.
2581
+ * @param {!Measurable} elem The element to check.
2582
+ * @return {number} 1 if the object stores information about a
2583
+ * next connection.
2584
+ * @package
2585
+ */
2586
+ function isNextConnection(elem: Measurable): number;
2587
+
2588
+ /**
2589
+ * Whether a measurable stores information about a previous or next connection.
2590
+ * @param {!Measurable} elem The element to check.
2591
+ * @return {number} 1 if the object stores information about a previous or
2592
+ * next connection.
2593
+ * @package
2594
+ */
2595
+ function isPreviousOrNextConnection(elem: Measurable): number;
2596
+
2597
+ /**
2598
+ * Whether a measurable stores information about a left round corner.
2599
+ * @param {!Measurable} elem The element to check.
2600
+ * @return {number} 1 if the object stores information about a
2601
+ * left round corner.
2602
+ * @package
2603
+ */
2604
+ function isLeftRoundedCorner(elem: Measurable): number;
2605
+
2606
+ /**
2607
+ * Whether a measurable stores information about a right round corner.
2608
+ * @param {!Measurable} elem The element to check.
2609
+ * @return {number} 1 if the object stores information about a
2610
+ * right round corner.
2611
+ * @package
2612
+ */
2613
+ function isRightRoundedCorner(elem: Measurable): number;
2614
+
2615
+ /**
2616
+ * Whether a measurable stores information about a left square corner.
2617
+ * @param {!Measurable} elem The element to check.
2618
+ * @return {number} 1 if the object stores information about a
2619
+ * left square corner.
2620
+ * @package
2621
+ */
2622
+ function isLeftSquareCorner(elem: Measurable): number;
2623
+
2624
+ /**
2625
+ * Whether a measurable stores information about a right square corner.
2626
+ * @param {!Measurable} elem The element to check.
2627
+ * @return {number} 1 if the object stores information about a
2628
+ * right square corner.
2629
+ * @package
2630
+ */
2631
+ function isRightSquareCorner(elem: Measurable): number;
2632
+
2633
+ /**
2634
+ * Whether a measurable stores information about a corner.
2635
+ * @param {!Measurable} elem The element to check.
2636
+ * @return {number} 1 if the object stores information about a
2637
+ * corner.
2638
+ * @package
2639
+ */
2640
+ function isCorner(elem: Measurable): number;
2641
+
2642
+ /**
2643
+ * Whether a measurable stores information about a jagged edge.
2644
+ * @param {!Measurable} elem The element to check.
2645
+ * @return {number} 1 if the object stores information about a jagged edge.
2646
+ * @package
2647
+ */
2648
+ function isJaggedEdge(elem: Measurable): number;
2649
+
2650
+ /**
2651
+ * Whether a measurable stores information about a row.
2652
+ * @param {!Row} row The row to check.
2653
+ * @return {number} 1 if the object stores information about a row.
2654
+ * @package
2655
+ */
2656
+ function isRow(row: Row): number;
2657
+
2658
+ /**
2659
+ * Whether a measurable stores information about a between-row spacer.
2660
+ * @param {!Row} row The row to check.
2661
+ * @return {number} 1 if the object stores information about a
2662
+ * between-row spacer.
2663
+ * @package
2664
+ */
2665
+ function isBetweenRowSpacer(row: Row): number;
2666
+
2667
+ /**
2668
+ * Whether a measurable stores information about a top row.
2669
+ * @param {!Row} row The row to check.
2670
+ * @return {number} 1 if the object stores information about a top row.
2671
+ * @package
2672
+ */
2673
+ function isTopRow(row: Row): number;
2674
+
2675
+ /**
2676
+ * Whether a measurable stores information about a bottom row.
2677
+ * @param {!Row} row The row to check.
2678
+ * @return {number} 1 if the object stores information about a bottom row.
2679
+ * @package
2680
+ */
2681
+ function isBottomRow(row: Row): number;
2682
+
2683
+ /**
2684
+ * Whether a measurable stores information about a top or bottom row.
2685
+ * @param {!Row} row The row to check.
2686
+ * @return {number} 1 if the object stores information about a top or
2687
+ * bottom row.
2688
+ * @package
2689
+ */
2690
+ function isTopOrBottomRow(row: Row): number;
2691
+
2692
+ /**
2693
+ * Whether a measurable stores information about an input row.
2694
+ * @param {!Row} row The row to check.
2695
+ * @return {number} 1 if the object stores information about an input row.
2696
+ * @package
2697
+ */
2698
+ function isInputRow(row: Row): number;
2699
+ }
2700
+
2701
+
2702
+ declare module Blockly.Msg {
2703
+
2704
+ /** @type {string} */
2705
+ var LOGIC_HUE: string;
2706
+
2707
+ /** @type {string} */
2708
+ var LOOPS_HUE: string;
2709
+
2710
+ /** @type {string} */
2711
+ var MATH_HUE: string;
2712
+
2713
+ /** @type {string} */
2714
+ var TEXTS_HUE: string;
2715
+
2716
+ /** @type {string} */
2717
+ var LISTS_HUE: string;
2718
+
2719
+ /** @type {string} */
2720
+ var COLOUR_HUE: string;
2721
+
2722
+ /** @type {string} */
2723
+ var VARIABLES_HUE: string;
2724
+
2725
+ /** @type {string} */
2726
+ var VARIABLES_DYNAMIC_HUE: string;
2727
+
2728
+ /** @type {string} */
2729
+ var PROCEDURES_HUE: string;
2730
+
2731
+ /** @type {string} */
2732
+ var VARIABLES_DEFAULT_NAME: string;
2733
+
2734
+ /** @type {string} */
2735
+ var UNNAMED_KEY: string;
2736
+
2737
+ /** @type {string} */
2738
+ var TODAY: string;
2739
+
2740
+ /** @type {string} */
2741
+ var DUPLICATE_BLOCK: string;
2742
+
2743
+ /** @type {string} */
2744
+ var ADD_COMMENT: string;
2745
+
2746
+ /** @type {string} */
2747
+ var REMOVE_COMMENT: string;
2748
+
2749
+ /** @type {string} */
2750
+ var DUPLICATE_COMMENT: string;
2751
+
2752
+ /** @type {string} */
2753
+ var EXTERNAL_INPUTS: string;
2754
+
2755
+ /** @type {string} */
2756
+ var INLINE_INPUTS: string;
2757
+
2758
+ /** @type {string} */
2759
+ var DELETE_BLOCK: string;
2760
+
2761
+ /** @type {string} */
2762
+ var DELETE_X_BLOCKS: string;
2763
+
2764
+ /** @type {string} */
2765
+ var DELETE_ALL_BLOCKS: string;
2766
+
2767
+ /** @type {string} */
2768
+ var CLEAN_UP: string;
2769
+
2770
+ /** @type {string} */
2771
+ var COLLAPSE_BLOCK: string;
2772
+
2773
+ /** @type {string} */
2774
+ var COLLAPSE_ALL: string;
2775
+
2776
+ /** @type {string} */
2777
+ var EXPAND_BLOCK: string;
2778
+
2779
+ /** @type {string} */
2780
+ var EXPAND_ALL: string;
2781
+
2782
+ /** @type {string} */
2783
+ var DISABLE_BLOCK: string;
2784
+
2785
+ /** @type {string} */
2786
+ var ENABLE_BLOCK: string;
2787
+
2788
+ /** @type {string} */
2789
+ var HELP: string;
2790
+
2791
+ /** @type {string} */
2792
+ var UNDO: string;
2793
+
2794
+ /** @type {string} */
2795
+ var REDO: string;
2796
+
2797
+ /** @type {string} */
2798
+ var CHANGE_VALUE_TITLE: string;
2799
+
2800
+ /** @type {string} */
2801
+ var RENAME_VARIABLE: string;
2802
+
2803
+ /** @type {string} */
2804
+ var RENAME_VARIABLE_TITLE: string;
2805
+
2806
+ /** @type {string} */
2807
+ var NEW_VARIABLE: string;
2808
+
2809
+ /** @type {string} */
2810
+ var NEW_STRING_VARIABLE: string;
2811
+
2812
+ /** @type {string} */
2813
+ var NEW_NUMBER_VARIABLE: string;
2814
+
2815
+ /** @type {string} */
2816
+ var NEW_COLOUR_VARIABLE: string;
2817
+
2818
+ /** @type {string} */
2819
+ var NEW_VARIABLE_TYPE_TITLE: string;
2820
+
2821
+ /** @type {string} */
2822
+ var NEW_VARIABLE_TITLE: string;
2823
+
2824
+ /** @type {string} */
2825
+ var VARIABLE_ALREADY_EXISTS: string;
2826
+
2827
+ /** @type {string} */
2828
+ var VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE: string;
2829
+
2830
+ /** @type {string} */
2831
+ var DELETE_VARIABLE_CONFIRMATION: string;
2832
+
2833
+ /** @type {string} */
2834
+ var CANNOT_DELETE_VARIABLE_PROCEDURE: string;
2835
+
2836
+ /** @type {string} */
2837
+ var DELETE_VARIABLE: string;
2838
+
2839
+ /** @type {string} */
2840
+ var COLOUR_PICKER_HELPURL: string;
2841
+
2842
+ /** @type {string} */
2843
+ var COLOUR_PICKER_TOOLTIP: string;
2844
+
2845
+ /** @type {string} */
2846
+ var COLOUR_RANDOM_HELPURL: string;
2847
+
2848
+ /** @type {string} */
2849
+ var COLOUR_RANDOM_TITLE: string;
2850
+
2851
+ /** @type {string} */
2852
+ var COLOUR_RANDOM_TOOLTIP: string;
2853
+
2854
+ /** @type {string} */
2855
+ var COLOUR_RGB_HELPURL: string;
2856
+
2857
+ /** @type {string} */
2858
+ var COLOUR_RGB_TITLE: string;
2859
+
2860
+ /** @type {string} */
2861
+ var COLOUR_RGB_RED: string;
2862
+
2863
+ /** @type {string} */
2864
+ var COLOUR_RGB_GREEN: string;
2865
+
2866
+ /** @type {string} */
2867
+ var COLOUR_RGB_BLUE: string;
2868
+
2869
+ /** @type {string} */
2870
+ var COLOUR_RGB_TOOLTIP: string;
2871
+
2872
+ /** @type {string} */
2873
+ var COLOUR_BLEND_HELPURL: string;
2874
+
2875
+ /** @type {string} */
2876
+ var COLOUR_BLEND_TITLE: string;
2877
+
2878
+ /** @type {string} */
2879
+ var COLOUR_BLEND_COLOUR1: string;
2880
+
2881
+ /** @type {string} */
2882
+ var COLOUR_BLEND_COLOUR2: string;
2883
+
2884
+ /** @type {string} */
2885
+ var COLOUR_BLEND_RATIO: string;
2886
+
2887
+ /** @type {string} */
2888
+ var COLOUR_BLEND_TOOLTIP: string;
2889
+
2890
+ /** @type {string} */
2891
+ var CONTROLS_REPEAT_HELPURL: string;
2892
+
2893
+ /** @type {string} */
2894
+ var CONTROLS_REPEAT_TITLE: string;
2895
+
2896
+ /** @type {string} */
2897
+ var CONTROLS_REPEAT_INPUT_DO: string;
2898
+
2899
+ /** @type {string} */
2900
+ var CONTROLS_REPEAT_TOOLTIP: string;
2901
+
2902
+ /** @type {string} */
2903
+ var CONTROLS_WHILEUNTIL_HELPURL: string;
2904
+
2905
+ /** @type {string} */
2906
+ var CONTROLS_WHILEUNTIL_INPUT_DO: string;
2907
+
2908
+ /** @type {string} */
2909
+ var CONTROLS_WHILEUNTIL_OPERATOR_WHILE: string;
2910
+
2911
+ /** @type {string} */
2912
+ var CONTROLS_WHILEUNTIL_OPERATOR_UNTIL: string;
2913
+
2914
+ /** @type {string} */
2915
+ var CONTROLS_WHILEUNTIL_TOOLTIP_WHILE: string;
2916
+
2917
+ /** @type {string} */
2918
+ var CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL: string;
2919
+
2920
+ /** @type {string} */
2921
+ var CONTROLS_FOR_HELPURL: string;
2922
+
2923
+ /** @type {string} */
2924
+ var CONTROLS_FOR_TOOLTIP: string;
2925
+
2926
+ /** @type {string} */
2927
+ var CONTROLS_FOR_TITLE: string;
2928
+
2929
+ /** @type {string} */
2930
+ var CONTROLS_FOR_INPUT_DO: string;
2931
+
2932
+ /** @type {string} */
2933
+ var CONTROLS_FOREACH_HELPURL: string;
2934
+
2935
+ /** @type {string} */
2936
+ var CONTROLS_FOREACH_TITLE: string;
2937
+
2938
+ /** @type {string} */
2939
+ var CONTROLS_FOREACH_INPUT_DO: string;
2940
+
2941
+ /** @type {string} */
2942
+ var CONTROLS_FOREACH_TOOLTIP: string;
2943
+
2944
+ /** @type {string} */
2945
+ var CONTROLS_FLOW_STATEMENTS_HELPURL: string;
2946
+
2947
+ /** @type {string} */
2948
+ var CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK: string;
2949
+
2950
+ /** @type {string} */
2951
+ var CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE: string;
2952
+
2953
+ /** @type {string} */
2954
+ var CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK: string;
2955
+
2956
+ /** @type {string} */
2957
+ var CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE: string;
2958
+
2959
+ /** @type {string} */
2960
+ var CONTROLS_FLOW_STATEMENTS_WARNING: string;
2961
+
2962
+ /** @type {string} */
2963
+ var CONTROLS_IF_HELPURL: string;
2964
+
2965
+ /** @type {string} */
2966
+ var CONTROLS_IF_TOOLTIP_1: string;
2967
+
2968
+ /** @type {string} */
2969
+ var CONTROLS_IF_TOOLTIP_2: string;
2970
+
2971
+ /** @type {string} */
2972
+ var CONTROLS_IF_TOOLTIP_3: string;
2973
+
2974
+ /** @type {string} */
2975
+ var CONTROLS_IF_TOOLTIP_4: string;
2976
+
2977
+ /** @type {string} */
2978
+ var CONTROLS_IF_MSG_IF: string;
2979
+
2980
+ /** @type {string} */
2981
+ var CONTROLS_IF_MSG_ELSEIF: string;
2982
+
2983
+ /** @type {string} */
2984
+ var CONTROLS_IF_MSG_ELSE: string;
2985
+
2986
+ /** @type {string} */
2987
+ var CONTROLS_IF_MSG_THEN: string;
2988
+
2989
+ /** @type {string} */
2990
+ var CONTROLS_IF_IF_TITLE_IF: string;
2991
+
2992
+ /** @type {string} */
2993
+ var CONTROLS_IF_IF_TOOLTIP: string;
2994
+
2995
+ /** @type {string} */
2996
+ var CONTROLS_IF_ELSEIF_TITLE_ELSEIF: string;
2997
+
2998
+ /** @type {string} */
2999
+ var CONTROLS_IF_ELSEIF_TOOLTIP: string;
3000
+
3001
+ /** @type {string} */
3002
+ var CONTROLS_IF_ELSE_TITLE_ELSE: string;
3003
+
3004
+ /** @type {string} */
3005
+ var CONTROLS_IF_ELSE_TOOLTIP: string;
3006
+
3007
+ /** @type {string} */
3008
+ var LOGIC_COMPARE_HELPURL: string;
3009
+
3010
+ /** @type {string} */
3011
+ var LOGIC_COMPARE_TOOLTIP_EQ: string;
3012
+
3013
+ /** @type {string} */
3014
+ var LOGIC_COMPARE_TOOLTIP_NEQ: string;
3015
+
3016
+ /** @type {string} */
3017
+ var LOGIC_COMPARE_TOOLTIP_LT: string;
3018
+
3019
+ /** @type {string} */
3020
+ var LOGIC_COMPARE_TOOLTIP_LTE: string;
3021
+
3022
+ /** @type {string} */
3023
+ var LOGIC_COMPARE_TOOLTIP_GT: string;
3024
+
3025
+ /** @type {string} */
3026
+ var LOGIC_COMPARE_TOOLTIP_GTE: string;
3027
+
3028
+ /** @type {string} */
3029
+ var LOGIC_OPERATION_HELPURL: string;
3030
+
3031
+ /** @type {string} */
3032
+ var LOGIC_OPERATION_TOOLTIP_AND: string;
3033
+
3034
+ /** @type {string} */
3035
+ var LOGIC_OPERATION_AND: string;
3036
+
3037
+ /** @type {string} */
3038
+ var LOGIC_OPERATION_TOOLTIP_OR: string;
3039
+
3040
+ /** @type {string} */
3041
+ var LOGIC_OPERATION_OR: string;
3042
+
3043
+ /** @type {string} */
3044
+ var LOGIC_NEGATE_HELPURL: string;
3045
+
3046
+ /** @type {string} */
3047
+ var LOGIC_NEGATE_TITLE: string;
3048
+
3049
+ /** @type {string} */
3050
+ var LOGIC_NEGATE_TOOLTIP: string;
3051
+
3052
+ /** @type {string} */
3053
+ var LOGIC_BOOLEAN_HELPURL: string;
3054
+
3055
+ /** @type {string} */
3056
+ var LOGIC_BOOLEAN_TRUE: string;
3057
+
3058
+ /** @type {string} */
3059
+ var LOGIC_BOOLEAN_FALSE: string;
3060
+
3061
+ /** @type {string} */
3062
+ var LOGIC_BOOLEAN_TOOLTIP: string;
3063
+
3064
+ /** @type {string} */
3065
+ var LOGIC_NULL_HELPURL: string;
3066
+
3067
+ /** @type {string} */
3068
+ var LOGIC_NULL: string;
3069
+
3070
+ /** @type {string} */
3071
+ var LOGIC_NULL_TOOLTIP: string;
3072
+
3073
+ /** @type {string} */
3074
+ var LOGIC_TERNARY_HELPURL: string;
3075
+
3076
+ /** @type {string} */
3077
+ var LOGIC_TERNARY_CONDITION: string;
3078
+
3079
+ /** @type {string} */
3080
+ var LOGIC_TERNARY_IF_TRUE: string;
3081
+
3082
+ /** @type {string} */
3083
+ var LOGIC_TERNARY_IF_FALSE: string;
3084
+
3085
+ /** @type {string} */
3086
+ var LOGIC_TERNARY_TOOLTIP: string;
3087
+
3088
+ /** @type {string} */
3089
+ var MATH_NUMBER_HELPURL: string;
3090
+
3091
+ /** @type {string} */
3092
+ var MATH_NUMBER_TOOLTIP: string;
3093
+
3094
+ /** @type {string} */
3095
+ var MATH_ADDITION_SYMBOL: string;
3096
+
3097
+ /** @type {string} */
3098
+ var MATH_SUBTRACTION_SYMBOL: string;
3099
+
3100
+ /** @type {string} */
3101
+ var MATH_DIVISION_SYMBOL: string;
3102
+
3103
+ /** @type {string} */
3104
+ var MATH_MULTIPLICATION_SYMBOL: string;
3105
+
3106
+ /** @type {string} */
3107
+ var MATH_POWER_SYMBOL: string;
3108
+
3109
+ /** @type {string} */
3110
+ var MATH_TRIG_SIN: string;
3111
+
3112
+ /** @type {string} */
3113
+ var MATH_TRIG_COS: string;
3114
+
3115
+ /** @type {string} */
3116
+ var MATH_TRIG_TAN: string;
3117
+
3118
+ /** @type {string} */
3119
+ var MATH_TRIG_ASIN: string;
3120
+
3121
+ /** @type {string} */
3122
+ var MATH_TRIG_ACOS: string;
3123
+
3124
+ /** @type {string} */
3125
+ var MATH_TRIG_ATAN: string;
3126
+
3127
+ /** @type {string} */
3128
+ var MATH_ARITHMETIC_HELPURL: string;
3129
+
3130
+ /** @type {string} */
3131
+ var MATH_ARITHMETIC_TOOLTIP_ADD: string;
3132
+
3133
+ /** @type {string} */
3134
+ var MATH_ARITHMETIC_TOOLTIP_MINUS: string;
3135
+
3136
+ /** @type {string} */
3137
+ var MATH_ARITHMETIC_TOOLTIP_MULTIPLY: string;
3138
+
3139
+ /** @type {string} */
3140
+ var MATH_ARITHMETIC_TOOLTIP_DIVIDE: string;
3141
+
3142
+ /** @type {string} */
3143
+ var MATH_ARITHMETIC_TOOLTIP_POWER: string;
3144
+
3145
+ /** @type {string} */
3146
+ var MATH_SINGLE_HELPURL: string;
3147
+
3148
+ /** @type {string} */
3149
+ var MATH_SINGLE_OP_ROOT: string;
3150
+
3151
+ /** @type {string} */
3152
+ var MATH_SINGLE_TOOLTIP_ROOT: string;
3153
+
3154
+ /** @type {string} */
3155
+ var MATH_SINGLE_OP_ABSOLUTE: string;
3156
+
3157
+ /** @type {string} */
3158
+ var MATH_SINGLE_TOOLTIP_ABS: string;
3159
+
3160
+ /** @type {string} */
3161
+ var MATH_SINGLE_TOOLTIP_NEG: string;
3162
+
3163
+ /** @type {string} */
3164
+ var MATH_SINGLE_TOOLTIP_LN: string;
3165
+
3166
+ /** @type {string} */
3167
+ var MATH_SINGLE_TOOLTIP_LOG10: string;
3168
+
3169
+ /** @type {string} */
3170
+ var MATH_SINGLE_TOOLTIP_EXP: string;
3171
+
3172
+ /** @type {string} */
3173
+ var MATH_SINGLE_TOOLTIP_POW10: string;
3174
+
3175
+ /** @type {string} */
3176
+ var MATH_TRIG_HELPURL: string;
3177
+
3178
+ /** @type {string} */
3179
+ var MATH_TRIG_TOOLTIP_SIN: string;
3180
+
3181
+ /** @type {string} */
3182
+ var MATH_TRIG_TOOLTIP_COS: string;
3183
+
3184
+ /** @type {string} */
3185
+ var MATH_TRIG_TOOLTIP_TAN: string;
3186
+
3187
+ /** @type {string} */
3188
+ var MATH_TRIG_TOOLTIP_ASIN: string;
3189
+
3190
+ /** @type {string} */
3191
+ var MATH_TRIG_TOOLTIP_ACOS: string;
3192
+
3193
+ /** @type {string} */
3194
+ var MATH_TRIG_TOOLTIP_ATAN: string;
3195
+
3196
+ /** @type {string} */
3197
+ var MATH_CONSTANT_HELPURL: string;
3198
+
3199
+ /** @type {string} */
3200
+ var MATH_CONSTANT_TOOLTIP: string;
3201
+
3202
+ /** @type {string} */
3203
+ var MATH_IS_EVEN: string;
3204
+
3205
+ /** @type {string} */
3206
+ var MATH_IS_ODD: string;
3207
+
3208
+ /** @type {string} */
3209
+ var MATH_IS_PRIME: string;
3210
+
3211
+ /** @type {string} */
3212
+ var MATH_IS_WHOLE: string;
3213
+
3214
+ /** @type {string} */
3215
+ var MATH_IS_POSITIVE: string;
3216
+
3217
+ /** @type {string} */
3218
+ var MATH_IS_NEGATIVE: string;
3219
+
3220
+ /** @type {string} */
3221
+ var MATH_IS_DIVISIBLE_BY: string;
3222
+
3223
+ /** @type {string} */
3224
+ var MATH_IS_TOOLTIP: string;
3225
+
3226
+ /** @type {string} */
3227
+ var MATH_CHANGE_HELPURL: string;
3228
+
3229
+ /** @type {string} */
3230
+ var MATH_CHANGE_TITLE: string;
3231
+
3232
+ /** @type {string} */
3233
+ var MATH_CHANGE_TITLE_ITEM: string;
3234
+
3235
+ /** @type {string} */
3236
+ var MATH_CHANGE_TOOLTIP: string;
3237
+
3238
+ /** @type {string} */
3239
+ var MATH_ROUND_HELPURL: string;
3240
+
3241
+ /** @type {string} */
3242
+ var MATH_ROUND_TOOLTIP: string;
3243
+
3244
+ /** @type {string} */
3245
+ var MATH_ROUND_OPERATOR_ROUND: string;
3246
+
3247
+ /** @type {string} */
3248
+ var MATH_ROUND_OPERATOR_ROUNDUP: string;
3249
+
3250
+ /** @type {string} */
3251
+ var MATH_ROUND_OPERATOR_ROUNDDOWN: string;
3252
+
3253
+ /** @type {string} */
3254
+ var MATH_ONLIST_HELPURL: string;
3255
+
3256
+ /** @type {string} */
3257
+ var MATH_ONLIST_OPERATOR_SUM: string;
3258
+
3259
+ /** @type {string} */
3260
+ var MATH_ONLIST_TOOLTIP_SUM: string;
3261
+
3262
+ /** @type {string} */
3263
+ var MATH_ONLIST_OPERATOR_MIN: string;
3264
+
3265
+ /** @type {string} */
3266
+ var MATH_ONLIST_TOOLTIP_MIN: string;
3267
+
3268
+ /** @type {string} */
3269
+ var MATH_ONLIST_OPERATOR_MAX: string;
3270
+
3271
+ /** @type {string} */
3272
+ var MATH_ONLIST_TOOLTIP_MAX: string;
3273
+
3274
+ /** @type {string} */
3275
+ var MATH_ONLIST_OPERATOR_AVERAGE: string;
3276
+
3277
+ /** @type {string} */
3278
+ var MATH_ONLIST_TOOLTIP_AVERAGE: string;
3279
+
3280
+ /** @type {string} */
3281
+ var MATH_ONLIST_OPERATOR_MEDIAN: string;
3282
+
3283
+ /** @type {string} */
3284
+ var MATH_ONLIST_TOOLTIP_MEDIAN: string;
3285
+
3286
+ /** @type {string} */
3287
+ var MATH_ONLIST_OPERATOR_MODE: string;
3288
+
3289
+ /** @type {string} */
3290
+ var MATH_ONLIST_TOOLTIP_MODE: string;
3291
+
3292
+ /** @type {string} */
3293
+ var MATH_ONLIST_OPERATOR_STD_DEV: string;
3294
+
3295
+ /** @type {string} */
3296
+ var MATH_ONLIST_TOOLTIP_STD_DEV: string;
3297
+
3298
+ /** @type {string} */
3299
+ var MATH_ONLIST_OPERATOR_RANDOM: string;
3300
+
3301
+ /** @type {string} */
3302
+ var MATH_ONLIST_TOOLTIP_RANDOM: string;
3303
+
3304
+ /** @type {string} */
3305
+ var MATH_MODULO_HELPURL: string;
3306
+
3307
+ /** @type {string} */
3308
+ var MATH_MODULO_TITLE: string;
3309
+
3310
+ /** @type {string} */
3311
+ var MATH_MODULO_TOOLTIP: string;
3312
+
3313
+ /** @type {string} */
3314
+ var MATH_CONSTRAIN_HELPURL: string;
3315
+
3316
+ /** @type {string} */
3317
+ var MATH_CONSTRAIN_TITLE: string;
3318
+
3319
+ /** @type {string} */
3320
+ var MATH_CONSTRAIN_TOOLTIP: string;
3321
+
3322
+ /** @type {string} */
3323
+ var MATH_RANDOM_INT_HELPURL: string;
3324
+
3325
+ /** @type {string} */
3326
+ var MATH_RANDOM_INT_TITLE: string;
3327
+
3328
+ /** @type {string} */
3329
+ var MATH_RANDOM_INT_TOOLTIP: string;
3330
+
3331
+ /** @type {string} */
3332
+ var MATH_RANDOM_FLOAT_HELPURL: string;
3333
+
3334
+ /** @type {string} */
3335
+ var MATH_RANDOM_FLOAT_TITLE_RANDOM: string;
3336
+
3337
+ /** @type {string} */
3338
+ var MATH_RANDOM_FLOAT_TOOLTIP: string;
3339
+
3340
+ /** @type {string} */
3341
+ var MATH_ATAN2_HELPURL: string;
3342
+
3343
+ /** @type {string} */
3344
+ var MATH_ATAN2_TITLE: string;
3345
+
3346
+ /** @type {string} */
3347
+ var MATH_ATAN2_TOOLTIP: string;
3348
+
3349
+ /** @type {string} */
3350
+ var TEXT_TEXT_HELPURL: string;
3351
+
3352
+ /** @type {string} */
3353
+ var TEXT_TEXT_TOOLTIP: string;
3354
+
3355
+ /** @type {string} */
3356
+ var TEXT_JOIN_HELPURL: string;
3357
+
3358
+ /** @type {string} */
3359
+ var TEXT_JOIN_TITLE_CREATEWITH: string;
3360
+
3361
+ /** @type {string} */
3362
+ var TEXT_JOIN_TOOLTIP: string;
3363
+
3364
+ /** @type {string} */
3365
+ var TEXT_CREATE_JOIN_TITLE_JOIN: string;
3366
+
3367
+ /** @type {string} */
3368
+ var TEXT_CREATE_JOIN_TOOLTIP: string;
3369
+
3370
+ /** @type {string} */
3371
+ var TEXT_CREATE_JOIN_ITEM_TITLE_ITEM: string;
3372
+
3373
+ /** @type {string} */
3374
+ var TEXT_CREATE_JOIN_ITEM_TOOLTIP: string;
3375
+
3376
+ /** @type {string} */
3377
+ var TEXT_APPEND_HELPURL: string;
3378
+
3379
+ /** @type {string} */
3380
+ var TEXT_APPEND_TITLE: string;
3381
+
3382
+ /** @type {string} */
3383
+ var TEXT_APPEND_VARIABLE: string;
3384
+
3385
+ /** @type {string} */
3386
+ var TEXT_APPEND_TOOLTIP: string;
3387
+
3388
+ /** @type {string} */
3389
+ var TEXT_LENGTH_HELPURL: string;
3390
+
3391
+ /** @type {string} */
3392
+ var TEXT_LENGTH_TITLE: string;
3393
+
3394
+ /** @type {string} */
3395
+ var TEXT_LENGTH_TOOLTIP: string;
3396
+
3397
+ /** @type {string} */
3398
+ var TEXT_ISEMPTY_HELPURL: string;
3399
+
3400
+ /** @type {string} */
3401
+ var TEXT_ISEMPTY_TITLE: string;
3402
+
3403
+ /** @type {string} */
3404
+ var TEXT_ISEMPTY_TOOLTIP: string;
3405
+
3406
+ /** @type {string} */
3407
+ var TEXT_INDEXOF_HELPURL: string;
3408
+
3409
+ /** @type {string} */
3410
+ var TEXT_INDEXOF_TOOLTIP: string;
3411
+
3412
+ /** @type {string} */
3413
+ var TEXT_INDEXOF_TITLE: string;
3414
+
3415
+ /** @type {string} */
3416
+ var TEXT_INDEXOF_OPERATOR_FIRST: string;
3417
+
3418
+ /** @type {string} */
3419
+ var TEXT_INDEXOF_OPERATOR_LAST: string;
3420
+
3421
+ /** @type {string} */
3422
+ var TEXT_CHARAT_HELPURL: string;
3423
+
3424
+ /** @type {string} */
3425
+ var TEXT_CHARAT_TITLE: string;
3426
+
3427
+ /** @type {string} */
3428
+ var TEXT_CHARAT_FROM_START: string;
3429
+
3430
+ /** @type {string} */
3431
+ var TEXT_CHARAT_FROM_END: string;
3432
+
3433
+ /** @type {string} */
3434
+ var TEXT_CHARAT_FIRST: string;
3435
+
3436
+ /** @type {string} */
3437
+ var TEXT_CHARAT_LAST: string;
3438
+
3439
+ /** @type {string} */
3440
+ var TEXT_CHARAT_RANDOM: string;
3441
+
3442
+ /** @type {string} */
3443
+ var TEXT_CHARAT_TAIL: string;
3444
+
3445
+ /** @type {string} */
3446
+ var TEXT_CHARAT_TOOLTIP: string;
3447
+
3448
+ /** @type {string} */
3449
+ var TEXT_GET_SUBSTRING_TOOLTIP: string;
3450
+
3451
+ /** @type {string} */
3452
+ var TEXT_GET_SUBSTRING_HELPURL: string;
3453
+
3454
+ /** @type {string} */
3455
+ var TEXT_GET_SUBSTRING_INPUT_IN_TEXT: string;
3456
+
3457
+ /** @type {string} */
3458
+ var TEXT_GET_SUBSTRING_START_FROM_START: string;
3459
+
3460
+ /** @type {string} */
3461
+ var TEXT_GET_SUBSTRING_START_FROM_END: string;
3462
+
3463
+ /** @type {string} */
3464
+ var TEXT_GET_SUBSTRING_START_FIRST: string;
3465
+
3466
+ /** @type {string} */
3467
+ var TEXT_GET_SUBSTRING_END_FROM_START: string;
3468
+
3469
+ /** @type {string} */
3470
+ var TEXT_GET_SUBSTRING_END_FROM_END: string;
3471
+
3472
+ /** @type {string} */
3473
+ var TEXT_GET_SUBSTRING_END_LAST: string;
3474
+
3475
+ /** @type {string} */
3476
+ var TEXT_GET_SUBSTRING_TAIL: string;
3477
+
3478
+ /** @type {string} */
3479
+ var TEXT_CHANGECASE_HELPURL: string;
3480
+
3481
+ /** @type {string} */
3482
+ var TEXT_CHANGECASE_TOOLTIP: string;
3483
+
3484
+ /** @type {string} */
3485
+ var TEXT_CHANGECASE_OPERATOR_UPPERCASE: string;
3486
+
3487
+ /** @type {string} */
3488
+ var TEXT_CHANGECASE_OPERATOR_LOWERCASE: string;
3489
+
3490
+ /** @type {string} */
3491
+ var TEXT_CHANGECASE_OPERATOR_TITLECASE: string;
3492
+
3493
+ /** @type {string} */
3494
+ var TEXT_TRIM_HELPURL: string;
3495
+
3496
+ /** @type {string} */
3497
+ var TEXT_TRIM_TOOLTIP: string;
3498
+
3499
+ /** @type {string} */
3500
+ var TEXT_TRIM_OPERATOR_BOTH: string;
3501
+
3502
+ /** @type {string} */
3503
+ var TEXT_TRIM_OPERATOR_LEFT: string;
3504
+
3505
+ /** @type {string} */
3506
+ var TEXT_TRIM_OPERATOR_RIGHT: string;
3507
+
3508
+ /** @type {string} */
3509
+ var TEXT_PRINT_HELPURL: string;
3510
+
3511
+ /** @type {string} */
3512
+ var TEXT_PRINT_TITLE: string;
3513
+
3514
+ /** @type {string} */
3515
+ var TEXT_PRINT_TOOLTIP: string;
3516
+
3517
+ /** @type {string} */
3518
+ var TEXT_PROMPT_HELPURL: string;
3519
+
3520
+ /** @type {string} */
3521
+ var TEXT_PROMPT_TYPE_TEXT: string;
3522
+
3523
+ /** @type {string} */
3524
+ var TEXT_PROMPT_TYPE_NUMBER: string;
3525
+
3526
+ /** @type {string} */
3527
+ var TEXT_PROMPT_TOOLTIP_NUMBER: string;
3528
+
3529
+ /** @type {string} */
3530
+ var TEXT_PROMPT_TOOLTIP_TEXT: string;
3531
+
3532
+ /** @type {string} */
3533
+ var TEXT_COUNT_MESSAGE0: string;
3534
+
3535
+ /** @type {string} */
3536
+ var TEXT_COUNT_HELPURL: string;
3537
+
3538
+ /** @type {string} */
3539
+ var TEXT_COUNT_TOOLTIP: string;
3540
+
3541
+ /** @type {string} */
3542
+ var TEXT_REPLACE_MESSAGE0: string;
3543
+
3544
+ /** @type {string} */
3545
+ var TEXT_REPLACE_HELPURL: string;
3546
+
3547
+ /** @type {string} */
3548
+ var TEXT_REPLACE_TOOLTIP: string;
3549
+
3550
+ /** @type {string} */
3551
+ var TEXT_REVERSE_MESSAGE0: string;
3552
+
3553
+ /** @type {string} */
3554
+ var TEXT_REVERSE_HELPURL: string;
3555
+
3556
+ /** @type {string} */
3557
+ var TEXT_REVERSE_TOOLTIP: string;
3558
+
3559
+ /** @type {string} */
3560
+ var LISTS_CREATE_EMPTY_HELPURL: string;
3561
+
3562
+ /** @type {string} */
3563
+ var LISTS_CREATE_EMPTY_TITLE: string;
3564
+
3565
+ /** @type {string} */
3566
+ var LISTS_CREATE_EMPTY_TOOLTIP: string;
3567
+
3568
+ /** @type {string} */
3569
+ var LISTS_CREATE_WITH_HELPURL: string;
3570
+
3571
+ /** @type {string} */
3572
+ var LISTS_CREATE_WITH_TOOLTIP: string;
3573
+
3574
+ /** @type {string} */
3575
+ var LISTS_CREATE_WITH_INPUT_WITH: string;
3576
+
3577
+ /** @type {string} */
3578
+ var LISTS_CREATE_WITH_CONTAINER_TITLE_ADD: string;
3579
+
3580
+ /** @type {string} */
3581
+ var LISTS_CREATE_WITH_CONTAINER_TOOLTIP: string;
3582
+
3583
+ /** @type {string} */
3584
+ var LISTS_CREATE_WITH_ITEM_TITLE: string;
3585
+
3586
+ /** @type {string} */
3587
+ var LISTS_CREATE_WITH_ITEM_TOOLTIP: string;
3588
+
3589
+ /** @type {string} */
3590
+ var LISTS_REPEAT_HELPURL: string;
3591
+
3592
+ /** @type {string} */
3593
+ var LISTS_REPEAT_TOOLTIP: string;
3594
+
3595
+ /** @type {string} */
3596
+ var LISTS_REPEAT_TITLE: string;
3597
+
3598
+ /** @type {string} */
3599
+ var LISTS_LENGTH_HELPURL: string;
3600
+
3601
+ /** @type {string} */
3602
+ var LISTS_LENGTH_TITLE: string;
3603
+
3604
+ /** @type {string} */
3605
+ var LISTS_LENGTH_TOOLTIP: string;
3606
+
3607
+ /** @type {string} */
3608
+ var LISTS_ISEMPTY_HELPURL: string;
3609
+
3610
+ /** @type {string} */
3611
+ var LISTS_ISEMPTY_TITLE: string;
3612
+
3613
+ /** @type {string} */
3614
+ var LISTS_ISEMPTY_TOOLTIP: string;
3615
+
3616
+ /** @type {string} */
3617
+ var LISTS_INLIST: string;
3618
+
3619
+ /** @type {string} */
3620
+ var LISTS_INDEX_OF_HELPURL: string;
3621
+
3622
+ /** @type {string} */
3623
+ var LISTS_INDEX_OF_INPUT_IN_LIST: string;
3624
+
3625
+ /** @type {string} */
3626
+ var LISTS_INDEX_OF_FIRST: string;
3627
+
3628
+ /** @type {string} */
3629
+ var LISTS_INDEX_OF_LAST: string;
3630
+
3631
+ /** @type {string} */
3632
+ var LISTS_INDEX_OF_TOOLTIP: string;
3633
+
3634
+ /** @type {string} */
3635
+ var LISTS_GET_INDEX_HELPURL: string;
3636
+
3637
+ /** @type {string} */
3638
+ var LISTS_GET_INDEX_GET: string;
3639
+
3640
+ /** @type {string} */
3641
+ var LISTS_GET_INDEX_GET_REMOVE: string;
3642
+
3643
+ /** @type {string} */
3644
+ var LISTS_GET_INDEX_REMOVE: string;
3645
+
3646
+ /** @type {string} */
3647
+ var LISTS_GET_INDEX_FROM_START: string;
3648
+
3649
+ /** @type {string} */
3650
+ var LISTS_GET_INDEX_FROM_END: string;
3651
+
3652
+ /** @type {string} */
3653
+ var LISTS_GET_INDEX_FIRST: string;
3654
+
3655
+ /** @type {string} */
3656
+ var LISTS_GET_INDEX_LAST: string;
3657
+
3658
+ /** @type {string} */
3659
+ var LISTS_GET_INDEX_RANDOM: string;
3660
+
3661
+ /** @type {string} */
3662
+ var LISTS_GET_INDEX_TAIL: string;
3663
+
3664
+ /** @type {string} */
3665
+ var LISTS_GET_INDEX_INPUT_IN_LIST: string;
3666
+
3667
+ /** @type {string} */
3668
+ var LISTS_INDEX_FROM_START_TOOLTIP: string;
3669
+
3670
+ /** @type {string} */
3671
+ var LISTS_INDEX_FROM_END_TOOLTIP: string;
3672
+
3673
+ /** @type {string} */
3674
+ var LISTS_GET_INDEX_TOOLTIP_GET_FROM: string;
3675
+
3676
+ /** @type {string} */
3677
+ var LISTS_GET_INDEX_TOOLTIP_GET_FIRST: string;
3678
+
3679
+ /** @type {string} */
3680
+ var LISTS_GET_INDEX_TOOLTIP_GET_LAST: string;
3681
+
3682
+ /** @type {string} */
3683
+ var LISTS_GET_INDEX_TOOLTIP_GET_RANDOM: string;
3684
+
3685
+ /** @type {string} */
3686
+ var LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM: string;
3687
+
3688
+ /** @type {string} */
3689
+ var LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST: string;
3690
+
3691
+ /** @type {string} */
3692
+ var LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST: string;
3693
+
3694
+ /** @type {string} */
3695
+ var LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM: string;
3696
+
3697
+ /** @type {string} */
3698
+ var LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM: string;
3699
+
3700
+ /** @type {string} */
3701
+ var LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST: string;
3702
+
3703
+ /** @type {string} */
3704
+ var LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST: string;
3705
+
3706
+ /** @type {string} */
3707
+ var LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM: string;
3708
+
3709
+ /** @type {string} */
3710
+ var LISTS_SET_INDEX_HELPURL: string;
3711
+
3712
+ /** @type {string} */
3713
+ var LISTS_SET_INDEX_INPUT_IN_LIST: string;
3714
+
3715
+ /** @type {string} */
3716
+ var LISTS_SET_INDEX_SET: string;
3717
+
3718
+ /** @type {string} */
3719
+ var LISTS_SET_INDEX_INSERT: string;
3720
+
3721
+ /** @type {string} */
3722
+ var LISTS_SET_INDEX_INPUT_TO: string;
3723
+
3724
+ /** @type {string} */
3725
+ var LISTS_SET_INDEX_TOOLTIP_SET_FROM: string;
3726
+
3727
+ /** @type {string} */
3728
+ var LISTS_SET_INDEX_TOOLTIP_SET_FIRST: string;
3729
+
3730
+ /** @type {string} */
3731
+ var LISTS_SET_INDEX_TOOLTIP_SET_LAST: string;
3732
+
3733
+ /** @type {string} */
3734
+ var LISTS_SET_INDEX_TOOLTIP_SET_RANDOM: string;
3735
+
3736
+ /** @type {string} */
3737
+ var LISTS_SET_INDEX_TOOLTIP_INSERT_FROM: string;
3738
+
3739
+ /** @type {string} */
3740
+ var LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST: string;
3741
+
3742
+ /** @type {string} */
3743
+ var LISTS_SET_INDEX_TOOLTIP_INSERT_LAST: string;
3744
+
3745
+ /** @type {string} */
3746
+ var LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM: string;
3747
+
3748
+ /** @type {string} */
3749
+ var LISTS_GET_SUBLIST_HELPURL: string;
3750
+
3751
+ /** @type {string} */
3752
+ var LISTS_GET_SUBLIST_INPUT_IN_LIST: string;
3753
+
3754
+ /** @type {string} */
3755
+ var LISTS_GET_SUBLIST_START_FROM_START: string;
3756
+
3757
+ /** @type {string} */
3758
+ var LISTS_GET_SUBLIST_START_FROM_END: string;
3759
+
3760
+ /** @type {string} */
3761
+ var LISTS_GET_SUBLIST_START_FIRST: string;
3762
+
3763
+ /** @type {string} */
3764
+ var LISTS_GET_SUBLIST_END_FROM_START: string;
3765
+
3766
+ /** @type {string} */
3767
+ var LISTS_GET_SUBLIST_END_FROM_END: string;
3768
+
3769
+ /** @type {string} */
3770
+ var LISTS_GET_SUBLIST_END_LAST: string;
3771
+
3772
+ /** @type {string} */
3773
+ var LISTS_GET_SUBLIST_TAIL: string;
3774
+
3775
+ /** @type {string} */
3776
+ var LISTS_GET_SUBLIST_TOOLTIP: string;
3777
+
3778
+ /** @type {string} */
3779
+ var LISTS_SORT_HELPURL: string;
3780
+
3781
+ /** @type {string} */
3782
+ var LISTS_SORT_TITLE: string;
3783
+
3784
+ /** @type {string} */
3785
+ var LISTS_SORT_TOOLTIP: string;
3786
+
3787
+ /** @type {string} */
3788
+ var LISTS_SORT_ORDER_ASCENDING: string;
3789
+
3790
+ /** @type {string} */
3791
+ var LISTS_SORT_ORDER_DESCENDING: string;
3792
+
3793
+ /** @type {string} */
3794
+ var LISTS_SORT_TYPE_NUMERIC: string;
3795
+
3796
+ /** @type {string} */
3797
+ var LISTS_SORT_TYPE_TEXT: string;
3798
+
3799
+ /** @type {string} */
3800
+ var LISTS_SORT_TYPE_IGNORECASE: string;
3801
+
3802
+ /** @type {string} */
3803
+ var LISTS_SPLIT_HELPURL: string;
3804
+
3805
+ /** @type {string} */
3806
+ var LISTS_SPLIT_LIST_FROM_TEXT: string;
3807
+
3808
+ /** @type {string} */
3809
+ var LISTS_SPLIT_TEXT_FROM_LIST: string;
3810
+
3811
+ /** @type {string} */
3812
+ var LISTS_SPLIT_WITH_DELIMITER: string;
3813
+
3814
+ /** @type {string} */
3815
+ var LISTS_SPLIT_TOOLTIP_SPLIT: string;
3816
+
3817
+ /** @type {string} */
3818
+ var LISTS_SPLIT_TOOLTIP_JOIN: string;
3819
+
3820
+ /** @type {string} */
3821
+ var LISTS_REVERSE_HELPURL: string;
3822
+
3823
+ /** @type {string} */
3824
+ var LISTS_REVERSE_MESSAGE0: string;
3825
+
3826
+ /** @type {string} */
3827
+ var LISTS_REVERSE_TOOLTIP: string;
3828
+
3829
+ /** @type {string} */
3830
+ var ORDINAL_NUMBER_SUFFIX: string;
3831
+
3832
+ /** @type {string} */
3833
+ var VARIABLES_GET_HELPURL: string;
3834
+
3835
+ /** @type {string} */
3836
+ var VARIABLES_GET_TOOLTIP: string;
3837
+
3838
+ /** @type {string} */
3839
+ var VARIABLES_GET_CREATE_SET: string;
3840
+
3841
+ /** @type {string} */
3842
+ var VARIABLES_SET_HELPURL: string;
3843
+
3844
+ /** @type {string} */
3845
+ var VARIABLES_SET: string;
3846
+
3847
+ /** @type {string} */
3848
+ var VARIABLES_SET_TOOLTIP: string;
3849
+
3850
+ /** @type {string} */
3851
+ var VARIABLES_SET_CREATE_GET: string;
3852
+
3853
+ /** @type {string} */
3854
+ var PROCEDURES_DEFNORETURN_HELPURL: string;
3855
+
3856
+ /** @type {string} */
3857
+ var PROCEDURES_DEFNORETURN_TITLE: string;
3858
+
3859
+ /** @type {string} */
3860
+ var PROCEDURES_DEFNORETURN_PROCEDURE: string;
3861
+
3862
+ /** @type {string} */
3863
+ var PROCEDURES_BEFORE_PARAMS: string;
3864
+
3865
+ /** @type {string} */
3866
+ var PROCEDURES_CALL_BEFORE_PARAMS: string;
3867
+
3868
+ /** @type {string} */
3869
+ var PROCEDURES_DEFNORETURN_DO: string;
3870
+
3871
+ /** @type {string} */
3872
+ var PROCEDURES_DEFNORETURN_TOOLTIP: string;
3873
+
3874
+ /** @type {string} */
3875
+ var PROCEDURES_DEFNORETURN_COMMENT: string;
3876
+
3877
+ /** @type {string} */
3878
+ var PROCEDURES_DEFRETURN_HELPURL: string;
3879
+
3880
+ /** @type {string} */
3881
+ var PROCEDURES_DEFRETURN_TITLE: string;
3882
+
3883
+ /** @type {string} */
3884
+ var PROCEDURES_DEFRETURN_PROCEDURE: string;
3885
+
3886
+ /** @type {string} */
3887
+ var PROCEDURES_DEFRETURN_DO: string;
3888
+
3889
+ /** @type {string} */
3890
+ var PROCEDURES_DEFRETURN_COMMENT: string;
3891
+
3892
+ /** @type {string} */
3893
+ var PROCEDURES_DEFRETURN_RETURN: string;
3894
+
3895
+ /** @type {string} */
3896
+ var PROCEDURES_DEFRETURN_TOOLTIP: string;
3897
+
3898
+ /** @type {string} */
3899
+ var PROCEDURES_ALLOW_STATEMENTS: string;
3900
+
3901
+ /** @type {string} */
3902
+ var PROCEDURES_DEF_DUPLICATE_WARNING: string;
3903
+
3904
+ /** @type {string} */
3905
+ var PROCEDURES_CALLNORETURN_HELPURL: string;
3906
+
3907
+ /** @type {string} */
3908
+ var PROCEDURES_CALLNORETURN_TOOLTIP: string;
3909
+
3910
+ /** @type {string} */
3911
+ var PROCEDURES_CALLRETURN_HELPURL: string;
3912
+
3913
+ /** @type {string} */
3914
+ var PROCEDURES_CALLRETURN_TOOLTIP: string;
3915
+
3916
+ /** @type {string} */
3917
+ var PROCEDURES_MUTATORCONTAINER_TITLE: string;
3918
+
3919
+ /** @type {string} */
3920
+ var PROCEDURES_MUTATORCONTAINER_TOOLTIP: string;
3921
+
3922
+ /** @type {string} */
3923
+ var PROCEDURES_MUTATORARG_TITLE: string;
3924
+
3925
+ /** @type {string} */
3926
+ var PROCEDURES_MUTATORARG_TOOLTIP: string;
3927
+
3928
+ /** @type {string} */
3929
+ var PROCEDURES_HIGHLIGHT_DEF: string;
3930
+
3931
+ /** @type {string} */
3932
+ var PROCEDURES_CREATE_DO: string;
3933
+
3934
+ /** @type {string} */
3935
+ var PROCEDURES_IFRETURN_TOOLTIP: string;
3936
+
3937
+ /** @type {string} */
3938
+ var PROCEDURES_IFRETURN_HELPURL: string;
3939
+
3940
+ /** @type {string} */
3941
+ var PROCEDURES_IFRETURN_WARNING: string;
3942
+
3943
+ /** @type {string} */
3944
+ var WORKSPACE_COMMENT_DEFAULT_TEXT: string;
3945
+
3946
+ /** @type {string} */
3947
+ var WORKSPACE_ARIA_LABEL: string;
3948
+
3949
+ /** @type {string} */
3950
+ var COLLAPSED_WARNINGS_WARNING: string;
3951
+
3952
+ /** @type {string} */
3953
+ var DIALOG_OK: string;
3954
+
3955
+ /** @type {string} */
3956
+ var DIALOG_CANCEL: string;
3957
+ }
3958
+
3959
+
3960
+
3961
+
3962
+
3963
+
3964
+
3965
+
3966
+
3967
+
3968
+
3969
+
3970
+
3971
+
3972
+
3973
+
3974
+
3975
+
3976
+
3977
+
3978
+
3979
+
3980
+
3981
+
3982
+
3983
+
3984
+
3985
+
3986
+
3987
+
3988
+
3989
+
3990
+
3991
+
3992
+
3993
+
3994
+
3995
+
3996
+
3997
+
3998
+
3999
+
4000
+
4001
+
4002
+
4003
+
4004
+
4005
+
4006
+
4007
+
4008
+
4009
+
4010
+
4011
+
4012
+
4013
+
4014
+
4015
+
4016
+
4017
+
4018
+
4019
+
4020
+
4021
+
4022
+
4023
+
4024
+
4025
+
4026
+
4027
+
4028
+
4029
+
4030
+
4031
+
4032
+
4033
+
4034
+
4035
+
4036
+
4037
+
4038
+
4039
+
4040
+
4041
+
4042
+
4043
+
4044
+
4045
+
4046
+
4047
+
4048
+
4049
+
4050
+
4051
+
4052
+
4053
+
4054
+
4055
+
4056
+
4057
+
4058
+
4059
+
4060
+
4061
+
4062
+
4063
+
4064
+
4065
+
4066
+
4067
+
4068
+
4069
+
4070
+
4071
+
4072
+
4073
+
4074
+
4075
+
4076
+
4077
+
4078
+