@elaraai/e3-ui 1.0.93 → 1.0.95

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 (303) hide show
  1. package/dist/src/allocation/adapters.d.ts +159 -0
  2. package/dist/src/allocation/adapters.d.ts.map +1 -0
  3. package/dist/src/allocation/adapters.js +241 -0
  4. package/dist/src/allocation/adapters.js.map +1 -0
  5. package/dist/src/allocation/functions.d.ts +664 -0
  6. package/dist/src/allocation/functions.d.ts.map +1 -0
  7. package/dist/src/allocation/functions.js +782 -0
  8. package/dist/src/allocation/functions.js.map +1 -0
  9. package/dist/src/allocation/index.d.ts +2985 -0
  10. package/dist/src/allocation/index.d.ts.map +1 -0
  11. package/dist/src/allocation/index.js +499 -0
  12. package/dist/src/allocation/index.js.map +1 -0
  13. package/dist/src/allocation/types.d.ts +832 -0
  14. package/dist/src/allocation/types.d.ts.map +1 -0
  15. package/dist/src/allocation/types.js +360 -0
  16. package/dist/src/allocation/types.js.map +1 -0
  17. package/dist/src/bind/func.d.ts +14 -0
  18. package/dist/src/bind/func.d.ts.map +1 -1
  19. package/dist/src/bind/func.js +22 -1
  20. package/dist/src/bind/func.js.map +1 -1
  21. package/dist/src/calendar/index.d.ts +510 -1639
  22. package/dist/src/calendar/index.d.ts.map +1 -1
  23. package/dist/src/calendar/index.js +56 -29
  24. package/dist/src/calendar/index.js.map +1 -1
  25. package/dist/src/flowchart/canvas.d.ts +9 -21
  26. package/dist/src/flowchart/canvas.d.ts.map +1 -1
  27. package/dist/src/flowchart/canvas.js +10 -22
  28. package/dist/src/flowchart/canvas.js.map +1 -1
  29. package/dist/src/flowchart/flowchart.d.ts +19 -13
  30. package/dist/src/flowchart/flowchart.d.ts.map +1 -1
  31. package/dist/src/flowchart/flowchart.js.map +1 -1
  32. package/dist/src/flowchart/index.d.ts +44 -21
  33. package/dist/src/flowchart/index.d.ts.map +1 -1
  34. package/dist/src/flowchart/index.js +43 -20
  35. package/dist/src/flowchart/index.js.map +1 -1
  36. package/dist/src/flowchart/library.d.ts +166 -81
  37. package/dist/src/flowchart/library.d.ts.map +1 -1
  38. package/dist/src/flowchart/library.js +232 -105
  39. package/dist/src/flowchart/library.js.map +1 -1
  40. package/dist/src/flowchart/over.d.ts +9 -16
  41. package/dist/src/flowchart/over.d.ts.map +1 -1
  42. package/dist/src/flowchart/over.js +9 -16
  43. package/dist/src/flowchart/over.js.map +1 -1
  44. package/dist/src/flowchart/payload.d.ts +710 -508
  45. package/dist/src/flowchart/payload.d.ts.map +1 -1
  46. package/dist/src/flowchart/payload.js +128 -74
  47. package/dist/src/flowchart/payload.js.map +1 -1
  48. package/dist/src/flowchart/window.d.ts +132 -347
  49. package/dist/src/flowchart/window.d.ts.map +1 -1
  50. package/dist/src/flowchart/window.js +48 -55
  51. package/dist/src/flowchart/window.js.map +1 -1
  52. package/dist/src/index.d.ts +11 -7
  53. package/dist/src/index.d.ts.map +1 -1
  54. package/dist/src/index.js +14 -6
  55. package/dist/src/index.js.map +1 -1
  56. package/dist/src/internal.d.ts +18 -7
  57. package/dist/src/internal.d.ts.map +1 -1
  58. package/dist/src/internal.js +28 -9
  59. package/dist/src/internal.js.map +1 -1
  60. package/dist/src/plan/event-rows.d.ts +26 -10
  61. package/dist/src/plan/event-rows.d.ts.map +1 -1
  62. package/dist/src/plan/event-rows.js +39 -13
  63. package/dist/src/plan/event-rows.js.map +1 -1
  64. package/dist/src/plan/ir.d.ts +244 -815
  65. package/dist/src/plan/ir.d.ts.map +1 -1
  66. package/dist/src/plan/ir.js +8 -6
  67. package/dist/src/plan/ir.js.map +1 -1
  68. package/dist/src/plan/library.d.ts +3 -0
  69. package/dist/src/plan/library.d.ts.map +1 -1
  70. package/dist/src/plan/library.js +1 -1
  71. package/dist/src/plan/library.js.map +1 -1
  72. package/dist/src/plan/ordered-source.d.ts +1 -0
  73. package/dist/src/plan/ordered-source.d.ts.map +1 -1
  74. package/dist/src/plan/plan.d.ts +559 -1667
  75. package/dist/src/plan/plan.d.ts.map +1 -1
  76. package/dist/src/plan/plan.js +123 -45
  77. package/dist/src/plan/plan.js.map +1 -1
  78. package/dist/src/plan/root.d.ts +16 -20
  79. package/dist/src/plan/root.d.ts.map +1 -1
  80. package/dist/src/plan/root.js +23 -33
  81. package/dist/src/plan/root.js.map +1 -1
  82. package/dist/src/roster/coverage.d.ts +17 -231
  83. package/dist/src/roster/coverage.d.ts.map +1 -1
  84. package/dist/src/roster/coverage.js +94 -90
  85. package/dist/src/roster/coverage.js.map +1 -1
  86. package/dist/src/roster/fit.d.ts +59 -0
  87. package/dist/src/roster/fit.d.ts.map +1 -0
  88. package/dist/src/roster/fit.js +155 -0
  89. package/dist/src/roster/fit.js.map +1 -0
  90. package/dist/src/roster/index.d.ts +2862 -3662
  91. package/dist/src/roster/index.d.ts.map +1 -1
  92. package/dist/src/roster/index.js +383 -81
  93. package/dist/src/roster/index.js.map +1 -1
  94. package/dist/src/roster/library.d.ts +37 -92
  95. package/dist/src/roster/library.d.ts.map +1 -1
  96. package/dist/src/roster/library.js +25 -64
  97. package/dist/src/roster/library.js.map +1 -1
  98. package/dist/src/roster/lists.d.ts +195 -0
  99. package/dist/src/roster/lists.d.ts.map +1 -0
  100. package/dist/src/roster/lists.js +233 -0
  101. package/dist/src/roster/lists.js.map +1 -0
  102. package/dist/src/roster/rules.d.ts +17 -260
  103. package/dist/src/roster/rules.d.ts.map +1 -1
  104. package/dist/src/roster/rules.js +135 -132
  105. package/dist/src/roster/rules.js.map +1 -1
  106. package/dist/src/roster/targets.d.ts +115 -0
  107. package/dist/src/roster/targets.d.ts.map +1 -0
  108. package/dist/src/roster/targets.js +213 -0
  109. package/dist/src/roster/targets.js.map +1 -0
  110. package/dist/src/roster/times.d.ts +251 -0
  111. package/dist/src/roster/times.d.ts.map +1 -0
  112. package/dist/src/roster/times.js +174 -0
  113. package/dist/src/roster/times.js.map +1 -0
  114. package/dist/src/roster/types.d.ts +828 -183
  115. package/dist/src/roster/types.d.ts.map +1 -1
  116. package/dist/src/roster/types.js +224 -97
  117. package/dist/src/roster/types.js.map +1 -1
  118. package/dist/src/schedule/accessor.d.ts +28 -0
  119. package/dist/src/schedule/accessor.d.ts.map +1 -0
  120. package/dist/src/schedule/accessor.js +39 -0
  121. package/dist/src/schedule/accessor.js.map +1 -0
  122. package/dist/src/schedule/events.d.ts +170 -42
  123. package/dist/src/schedule/events.d.ts.map +1 -1
  124. package/dist/src/schedule/events.js +431 -171
  125. package/dist/src/schedule/events.js.map +1 -1
  126. package/dist/src/schedule/index.d.ts +41 -4
  127. package/dist/src/schedule/index.d.ts.map +1 -1
  128. package/dist/src/schedule/index.js +35 -3
  129. package/dist/src/schedule/index.js.map +1 -1
  130. package/dist/src/schedule/library.d.ts +13 -3
  131. package/dist/src/schedule/library.d.ts.map +1 -1
  132. package/dist/src/schedule/library.js +11 -4
  133. package/dist/src/schedule/library.js.map +1 -1
  134. package/dist/src/schedule/periods.d.ts +115 -0
  135. package/dist/src/schedule/periods.d.ts.map +1 -0
  136. package/dist/src/schedule/periods.js +215 -0
  137. package/dist/src/schedule/periods.js.map +1 -0
  138. package/dist/src/schedule/record-window.d.ts +25 -3
  139. package/dist/src/schedule/record-window.d.ts.map +1 -1
  140. package/dist/src/schedule/record-window.js +31 -18
  141. package/dist/src/schedule/record-window.js.map +1 -1
  142. package/dist/src/schedule/resources.d.ts +82 -4
  143. package/dist/src/schedule/resources.d.ts.map +1 -1
  144. package/dist/src/schedule/resources.js +44 -14
  145. package/dist/src/schedule/resources.js.map +1 -1
  146. package/dist/src/schedule/session.d.ts +69 -0
  147. package/dist/src/schedule/session.d.ts.map +1 -0
  148. package/dist/src/schedule/session.js +121 -0
  149. package/dist/src/schedule/session.js.map +1 -0
  150. package/dist/src/schedule/templates.d.ts +14 -2
  151. package/dist/src/schedule/templates.d.ts.map +1 -1
  152. package/dist/src/schedule/templates.js +5 -3
  153. package/dist/src/schedule/templates.js.map +1 -1
  154. package/dist/src/schedule/types.d.ts +1671 -37
  155. package/dist/src/schedule/types.d.ts.map +1 -1
  156. package/dist/src/schedule/types.js +196 -5
  157. package/dist/src/schedule/types.js.map +1 -1
  158. package/dist/src/schedule/window.d.ts +14 -0
  159. package/dist/src/schedule/window.d.ts.map +1 -1
  160. package/dist/src/schedule/window.js +14 -4
  161. package/dist/src/schedule/window.js.map +1 -1
  162. package/dist/src/schedule/words.d.ts +22 -0
  163. package/dist/src/schedule/words.d.ts.map +1 -0
  164. package/dist/src/schedule/words.js +25 -0
  165. package/dist/src/schedule/words.js.map +1 -0
  166. package/dist/src/sheet/index.d.ts +61 -27
  167. package/dist/src/sheet/index.d.ts.map +1 -1
  168. package/dist/src/sheet/index.js +59 -25
  169. package/dist/src/sheet/index.js.map +1 -1
  170. package/dist/src/sheet/library.d.ts +21 -3
  171. package/dist/src/sheet/library.d.ts.map +1 -1
  172. package/dist/src/sheet/library.js +23 -6
  173. package/dist/src/sheet/library.js.map +1 -1
  174. package/dist/src/sheet/registers.d.ts +100 -85
  175. package/dist/src/sheet/registers.d.ts.map +1 -1
  176. package/dist/src/sheet/registers.js +100 -85
  177. package/dist/src/sheet/registers.js.map +1 -1
  178. package/dist/src/sheet/root.d.ts +8 -12
  179. package/dist/src/sheet/root.d.ts.map +1 -1
  180. package/dist/src/sheet/root.js +6 -40
  181. package/dist/src/sheet/root.js.map +1 -1
  182. package/dist/src/sheet/sheet.d.ts +598 -2349
  183. package/dist/src/sheet/sheet.d.ts.map +1 -1
  184. package/dist/src/sheet/sheet.js +124 -37
  185. package/dist/src/sheet/sheet.js.map +1 -1
  186. package/dist/src/sheet/sub-rows.d.ts +74 -28
  187. package/dist/src/sheet/sub-rows.d.ts.map +1 -1
  188. package/dist/src/sheet/sub-rows.js +74 -28
  189. package/dist/src/sheet/sub-rows.js.map +1 -1
  190. package/dist/src/sheet/templates.d.ts +98 -34
  191. package/dist/src/sheet/templates.d.ts.map +1 -1
  192. package/dist/src/sheet/templates.js +102 -58
  193. package/dist/src/sheet/templates.js.map +1 -1
  194. package/dist/src/sheet/types.d.ts +289 -1359
  195. package/dist/src/sheet/types.d.ts.map +1 -1
  196. package/dist/src/sheet/types.js +20 -26
  197. package/dist/src/sheet/types.js.map +1 -1
  198. package/dist/src/sheet/views.d.ts +10 -11
  199. package/dist/src/sheet/views.d.ts.map +1 -1
  200. package/dist/src/sheet/views.js +15 -20
  201. package/dist/src/sheet/views.js.map +1 -1
  202. package/dist/src/{roster/visibility.d.ts → utils/key-visibility.d.ts} +42 -7
  203. package/dist/src/utils/key-visibility.d.ts.map +1 -0
  204. package/dist/src/utils/key-visibility.js +36 -0
  205. package/dist/src/utils/key-visibility.js.map +1 -0
  206. package/dist/src/utils/ordered-source.d.ts +1 -0
  207. package/dist/src/utils/ordered-source.d.ts.map +1 -1
  208. package/dist/src/utils/ordered-source.js +8 -3
  209. package/dist/src/utils/ordered-source.js.map +1 -1
  210. package/dist/src/utils/record-sources.d.ts +107 -0
  211. package/dist/src/utils/record-sources.d.ts.map +1 -0
  212. package/dist/src/utils/record-sources.js +132 -0
  213. package/dist/src/utils/record-sources.js.map +1 -0
  214. package/dist/test/allocation/allocation.examples.d.ts +2902 -0
  215. package/dist/test/allocation/allocation.examples.d.ts.map +1 -0
  216. package/dist/test/allocation/allocation.examples.js +643 -0
  217. package/dist/test/allocation/allocation.examples.js.map +1 -0
  218. package/dist/test/allocation/fit.examples.d.ts +546 -0
  219. package/dist/test/allocation/fit.examples.d.ts.map +1 -0
  220. package/dist/test/allocation/fit.examples.js +171 -0
  221. package/dist/test/allocation/fit.examples.js.map +1 -0
  222. package/dist/test/allocation/kiln-yard.d.ts +181 -0
  223. package/dist/test/allocation/kiln-yard.d.ts.map +1 -0
  224. package/dist/test/allocation/kiln-yard.js +228 -0
  225. package/dist/test/allocation/kiln-yard.js.map +1 -0
  226. package/dist/test/bind/data/data.examples.d.ts +651 -1
  227. package/dist/test/bind/data/data.examples.d.ts.map +1 -1
  228. package/dist/test/bind/data/data.examples.js +140 -2
  229. package/dist/test/bind/data/data.examples.js.map +1 -1
  230. package/dist/test/bind/func/func.examples.d.ts +10 -1
  231. package/dist/test/bind/func/func.examples.d.ts.map +1 -1
  232. package/dist/test/bind/func/func.examples.js +8 -1
  233. package/dist/test/bind/func/func.examples.js.map +1 -1
  234. package/dist/test/bind/record/record.examples.d.ts +633 -1
  235. package/dist/test/bind/record/record.examples.d.ts.map +1 -1
  236. package/dist/test/bind/record/record.examples.js +26 -2
  237. package/dist/test/bind/record/record.examples.js.map +1 -1
  238. package/dist/test/calendar/calendar-records.examples.d.ts.map +1 -1
  239. package/dist/test/calendar/calendar-records.examples.js +18 -14
  240. package/dist/test/calendar/calendar-records.examples.js.map +1 -1
  241. package/dist/test/calendar/calendar.examples.d.ts +521 -16
  242. package/dist/test/calendar/calendar.examples.d.ts.map +1 -1
  243. package/dist/test/calendar/calendar.examples.js +182 -135
  244. package/dist/test/calendar/calendar.examples.js.map +1 -1
  245. package/dist/test/examples-package.d.ts +75 -0
  246. package/dist/test/examples-package.d.ts.map +1 -0
  247. package/dist/test/examples-package.js +263 -0
  248. package/dist/test/examples-package.js.map +1 -0
  249. package/dist/test/flowchart/flowchart.examples.d.ts +211 -19
  250. package/dist/test/flowchart/flowchart.examples.d.ts.map +1 -1
  251. package/dist/test/flowchart/flowchart.examples.js +102 -75
  252. package/dist/test/flowchart/flowchart.examples.js.map +1 -1
  253. package/dist/test/plan/plan-events.examples.d.ts +1439 -209
  254. package/dist/test/plan/plan-events.examples.d.ts.map +1 -1
  255. package/dist/test/plan/plan-events.examples.js +199 -59
  256. package/dist/test/plan/plan-events.examples.js.map +1 -1
  257. package/dist/test/plan/plan-records.examples.d.ts +420 -0
  258. package/dist/test/plan/plan-records.examples.d.ts.map +1 -1
  259. package/dist/test/plan/plan-records.examples.js +70 -19
  260. package/dist/test/plan/plan-records.examples.js.map +1 -1
  261. package/dist/test/plan/plan-windows.examples.d.ts +636 -55
  262. package/dist/test/plan/plan-windows.examples.d.ts.map +1 -1
  263. package/dist/test/plan/plan-windows.examples.js +69 -33
  264. package/dist/test/plan/plan-windows.examples.js.map +1 -1
  265. package/dist/test/plan/plan.examples.d.ts +153 -31
  266. package/dist/test/plan/plan.examples.d.ts.map +1 -1
  267. package/dist/test/plan/plan.examples.js +178 -101
  268. package/dist/test/plan/plan.examples.js.map +1 -1
  269. package/dist/test/roster/domain.examples.d.ts +467 -250
  270. package/dist/test/roster/domain.examples.d.ts.map +1 -1
  271. package/dist/test/roster/domain.examples.js +92 -29
  272. package/dist/test/roster/domain.examples.js.map +1 -1
  273. package/dist/test/roster/roster-records.examples.d.ts +430 -586
  274. package/dist/test/roster/roster-records.examples.d.ts.map +1 -1
  275. package/dist/test/roster/roster-records.examples.js +102 -43
  276. package/dist/test/roster/roster-records.examples.js.map +1 -1
  277. package/dist/test/roster/roster.examples.d.ts +2319 -606
  278. package/dist/test/roster/roster.examples.d.ts.map +1 -1
  279. package/dist/test/roster/roster.examples.js +456 -148
  280. package/dist/test/roster/roster.examples.js.map +1 -1
  281. package/dist/test/roster/warehouse.d.ts +172 -63
  282. package/dist/test/roster/warehouse.d.ts.map +1 -1
  283. package/dist/test/roster/warehouse.js +172 -39
  284. package/dist/test/roster/warehouse.js.map +1 -1
  285. package/dist/test/schedule/schedule.examples.d.ts +3499 -0
  286. package/dist/test/schedule/schedule.examples.d.ts.map +1 -0
  287. package/dist/test/schedule/schedule.examples.js +192 -0
  288. package/dist/test/schedule/schedule.examples.js.map +1 -0
  289. package/dist/test/sheet/sheet-records.examples.d.ts.map +1 -1
  290. package/dist/test/sheet/sheet-records.examples.js +22 -18
  291. package/dist/test/sheet/sheet-records.examples.js.map +1 -1
  292. package/dist/test/sheet/sheet.examples.d.ts +715 -26
  293. package/dist/test/sheet/sheet.examples.d.ts.map +1 -1
  294. package/dist/test/sheet/sheet.examples.js +204 -130
  295. package/dist/test/sheet/sheet.examples.js.map +1 -1
  296. package/package.json +17 -10
  297. package/dist/src/roster/people.d.ts +0 -50
  298. package/dist/src/roster/people.d.ts.map +0 -1
  299. package/dist/src/roster/people.js +0 -32
  300. package/dist/src/roster/people.js.map +0 -1
  301. package/dist/src/roster/visibility.d.ts.map +0 -1
  302. package/dist/src/roster/visibility.js +0 -25
  303. package/dist/src/roster/visibility.js.map +0 -1
@@ -3,305 +3,422 @@
3
3
  * Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
4
4
  */
5
5
  /** @jsxImportSource @elaraai/e3-ui */
6
- import { ArrayType, DateTimeType, DictType, NullType, StringType, StructType } from "@elaraai/east";
7
- export declare const rosterWeeks: import("@elaraai/e3").RecordDef<DictType<DateTimeType, StructType<{
8
- readonly status: import("@elaraai/east").VariantType<{
9
- readonly draft: NullType;
10
- readonly published: StructType<{
11
- readonly at: DateTimeType;
12
- }>;
6
+ import { ArrayType, BooleanType, DateTimeType, DictType, FloatType, IntegerType, NullType, OptionType, StringType, StructType, variant } from "@elaraai/east";
7
+ export { WarehouseCover, WarehouseDuty, WarehouseRosterWeek, warehouseNextStart, warehousePrevious, warehousePreviousStart, warehouseStart, warehouseWeek, } from "./warehouse.js";
8
+ /** The duties, both weeks', each the warehouse's own row. */
9
+ export declare const rosterDuties: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
10
+ readonly who: import("@elaraai/east").VariantType<{
11
+ readonly staff: StringType;
12
+ readonly agency: StringType;
13
13
  }>;
14
- readonly assignments: DictType<StringType, StructType<{
15
- readonly slot: StructType<{
16
- readonly day: import("@elaraai/east").IntegerType;
17
- readonly group: StringType;
14
+ readonly start: DateTimeType;
15
+ readonly end: DateTimeType;
16
+ readonly shift: StringType;
17
+ readonly team: StringType;
18
+ readonly role: StringType;
19
+ readonly task: OptionType<StringType>;
20
+ readonly unpaidBreak: FloatType;
21
+ readonly agreed: OptionType<BooleanType>;
22
+ readonly costCentre: StringType;
23
+ readonly note: StringType;
24
+ }>>, [variant<"field", "records">, variant<"field", "roster_duties">]>;
25
+ export declare const rosterDutiesPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
26
+ readonly who: import("@elaraai/east").VariantType<{
27
+ readonly staff: StringType;
28
+ readonly agency: StringType;
29
+ }>;
30
+ readonly start: DateTimeType;
31
+ readonly end: DateTimeType;
32
+ readonly shift: StringType;
33
+ readonly team: StringType;
34
+ readonly role: StringType;
35
+ readonly task: OptionType<StringType>;
36
+ readonly unpaidBreak: FloatType;
37
+ readonly agreed: OptionType<BooleanType>;
38
+ readonly costCentre: StringType;
39
+ readonly note: StringType;
40
+ }>>, [import("@elaraai/east").VariantType<{
41
+ unchanged: NullType;
42
+ replace: StructType<{
43
+ before: DictType<StringType, StructType<{
44
+ readonly who: import("@elaraai/east").VariantType<{
45
+ readonly staff: StringType;
46
+ readonly agency: StringType;
47
+ }>;
48
+ readonly start: DateTimeType;
49
+ readonly end: DateTimeType;
50
+ readonly shift: StringType;
51
+ readonly team: StringType;
52
+ readonly role: StringType;
53
+ readonly task: OptionType<StringType>;
54
+ readonly unpaidBreak: FloatType;
55
+ readonly agreed: OptionType<BooleanType>;
56
+ readonly costCentre: StringType;
57
+ readonly note: StringType;
58
+ }>>;
59
+ after: DictType<StringType, StructType<{
60
+ readonly who: import("@elaraai/east").VariantType<{
61
+ readonly staff: StringType;
62
+ readonly agency: StringType;
63
+ }>;
64
+ readonly start: DateTimeType;
65
+ readonly end: DateTimeType;
18
66
  readonly shift: StringType;
67
+ readonly team: StringType;
68
+ readonly role: StringType;
69
+ readonly task: OptionType<StringType>;
70
+ readonly unpaidBreak: FloatType;
71
+ readonly agreed: OptionType<BooleanType>;
72
+ readonly costCentre: StringType;
73
+ readonly note: StringType;
74
+ }>>;
75
+ }>;
76
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
77
+ delete: StructType<{
78
+ readonly who: import("@elaraai/east").VariantType<{
79
+ readonly staff: StringType;
80
+ readonly agency: StringType;
81
+ }>;
82
+ readonly start: DateTimeType;
83
+ readonly end: DateTimeType;
84
+ readonly shift: StringType;
85
+ readonly team: StringType;
86
+ readonly role: StringType;
87
+ readonly task: OptionType<StringType>;
88
+ readonly unpaidBreak: FloatType;
89
+ readonly agreed: OptionType<BooleanType>;
90
+ readonly costCentre: StringType;
91
+ readonly note: StringType;
19
92
  }>;
20
- readonly who: import("@elaraai/east").VariantType<{
21
- readonly person: StringType;
22
- readonly request: StringType;
93
+ insert: StructType<{
94
+ readonly who: import("@elaraai/east").VariantType<{
95
+ readonly staff: StringType;
96
+ readonly agency: StringType;
97
+ }>;
98
+ readonly start: DateTimeType;
99
+ readonly end: DateTimeType;
100
+ readonly shift: StringType;
101
+ readonly team: StringType;
102
+ readonly role: StringType;
103
+ readonly task: OptionType<StringType>;
104
+ readonly unpaidBreak: FloatType;
105
+ readonly agreed: OptionType<BooleanType>;
106
+ readonly costCentre: StringType;
107
+ readonly note: StringType;
108
+ }>;
109
+ update: import("@elaraai/east").VariantType<{
110
+ unchanged: NullType;
111
+ replace: StructType<{
112
+ before: StructType<{
113
+ readonly who: import("@elaraai/east").VariantType<{
114
+ readonly staff: StringType;
115
+ readonly agency: StringType;
116
+ }>;
117
+ readonly start: DateTimeType;
118
+ readonly end: DateTimeType;
119
+ readonly shift: StringType;
120
+ readonly team: StringType;
121
+ readonly role: StringType;
122
+ readonly task: OptionType<StringType>;
123
+ readonly unpaidBreak: FloatType;
124
+ readonly agreed: OptionType<BooleanType>;
125
+ readonly costCentre: StringType;
126
+ readonly note: StringType;
127
+ }>;
128
+ after: StructType<{
129
+ readonly who: import("@elaraai/east").VariantType<{
130
+ readonly staff: StringType;
131
+ readonly agency: StringType;
132
+ }>;
133
+ readonly start: DateTimeType;
134
+ readonly end: DateTimeType;
135
+ readonly shift: StringType;
136
+ readonly team: StringType;
137
+ readonly role: StringType;
138
+ readonly task: OptionType<StringType>;
139
+ readonly unpaidBreak: FloatType;
140
+ readonly agreed: OptionType<BooleanType>;
141
+ readonly costCentre: StringType;
142
+ readonly note: StringType;
143
+ }>;
144
+ }>;
145
+ patch: StructType<{
146
+ readonly who: import("@elaraai/east").VariantType<{
147
+ unchanged: NullType;
148
+ replace: StructType<{
149
+ before: import("@elaraai/east").VariantType<{
150
+ readonly staff: StringType;
151
+ readonly agency: StringType;
152
+ }>;
153
+ after: import("@elaraai/east").VariantType<{
154
+ readonly staff: StringType;
155
+ readonly agency: StringType;
156
+ }>;
157
+ }>;
158
+ patch: import("@elaraai/east").VariantType<{
159
+ readonly staff: import("@elaraai/east").VariantType<{
160
+ unchanged: NullType;
161
+ replace: StructType<{
162
+ before: StringType;
163
+ after: StringType;
164
+ }>;
165
+ }>;
166
+ readonly agency: import("@elaraai/east").VariantType<{
167
+ unchanged: NullType;
168
+ replace: StructType<{
169
+ before: StringType;
170
+ after: StringType;
171
+ }>;
172
+ }>;
173
+ }>;
174
+ }>;
175
+ readonly start: import("@elaraai/east").VariantType<{
176
+ unchanged: NullType;
177
+ replace: StructType<{
178
+ before: DateTimeType;
179
+ after: DateTimeType;
180
+ }>;
181
+ }>;
182
+ readonly end: import("@elaraai/east").VariantType<{
183
+ unchanged: NullType;
184
+ replace: StructType<{
185
+ before: DateTimeType;
186
+ after: DateTimeType;
187
+ }>;
188
+ }>;
189
+ readonly shift: import("@elaraai/east").VariantType<{
190
+ unchanged: NullType;
191
+ replace: StructType<{
192
+ before: StringType;
193
+ after: StringType;
194
+ }>;
195
+ }>;
196
+ readonly team: import("@elaraai/east").VariantType<{
197
+ unchanged: NullType;
198
+ replace: StructType<{
199
+ before: StringType;
200
+ after: StringType;
201
+ }>;
202
+ }>;
203
+ readonly role: import("@elaraai/east").VariantType<{
204
+ unchanged: NullType;
205
+ replace: StructType<{
206
+ before: StringType;
207
+ after: StringType;
208
+ }>;
209
+ }>;
210
+ readonly task: import("@elaraai/east").VariantType<{
211
+ unchanged: NullType;
212
+ replace: StructType<{
213
+ before: OptionType<StringType>;
214
+ after: OptionType<StringType>;
215
+ }>;
216
+ patch: import("@elaraai/east").VariantType<{
217
+ none: import("@elaraai/east").VariantType<{
218
+ unchanged: NullType;
219
+ replace: StructType<{
220
+ before: NullType;
221
+ after: NullType;
222
+ }>;
223
+ }>;
224
+ some: import("@elaraai/east").VariantType<{
225
+ unchanged: NullType;
226
+ replace: StructType<{
227
+ before: StringType;
228
+ after: StringType;
229
+ }>;
230
+ }>;
231
+ }>;
232
+ }>;
233
+ readonly unpaidBreak: import("@elaraai/east").VariantType<{
234
+ unchanged: NullType;
235
+ replace: StructType<{
236
+ before: FloatType;
237
+ after: FloatType;
238
+ }>;
239
+ }>;
240
+ readonly agreed: import("@elaraai/east").VariantType<{
241
+ unchanged: NullType;
242
+ replace: StructType<{
243
+ before: OptionType<BooleanType>;
244
+ after: OptionType<BooleanType>;
245
+ }>;
246
+ patch: import("@elaraai/east").VariantType<{
247
+ none: import("@elaraai/east").VariantType<{
248
+ unchanged: NullType;
249
+ replace: StructType<{
250
+ before: NullType;
251
+ after: NullType;
252
+ }>;
253
+ }>;
254
+ some: import("@elaraai/east").VariantType<{
255
+ unchanged: NullType;
256
+ replace: StructType<{
257
+ before: BooleanType;
258
+ after: BooleanType;
259
+ }>;
260
+ }>;
261
+ }>;
262
+ }>;
263
+ readonly costCentre: import("@elaraai/east").VariantType<{
264
+ unchanged: NullType;
265
+ replace: StructType<{
266
+ before: StringType;
267
+ after: StringType;
268
+ }>;
269
+ }>;
270
+ readonly note: import("@elaraai/east").VariantType<{
271
+ unchanged: NullType;
272
+ replace: StructType<{
273
+ before: StringType;
274
+ after: StringType;
275
+ }>;
276
+ }>;
277
+ }>;
23
278
  }>;
24
- readonly position: StringType;
25
- readonly activity: import("@elaraai/east").OptionType<StringType>;
26
- readonly offset: import("@elaraai/east").FloatType;
27
- readonly overtime: import("@elaraai/east").FloatType;
28
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
29
- }>>;
30
- readonly requirements: DictType<StructType<{
31
- readonly day: import("@elaraai/east").IntegerType;
32
- readonly group: StringType;
33
- readonly shift: StringType;
34
- }>, StructType<{
35
- readonly positions: import("@elaraai/east").IntegerType;
36
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
37
279
  }>>;
280
+ }>]>;
281
+ /** The duties by their times: what the Roster's slice reads a week of them through, its navigation writing the range. */
282
+ export declare const rosterDutiesByTime: import("@elaraai/e3").RecordIndexDef<"roster_duties_by_time", DictType<StringType, StructType<{
283
+ readonly who: import("@elaraai/east").VariantType<{
284
+ readonly staff: StringType;
285
+ readonly agency: StringType;
286
+ }>;
287
+ readonly start: DateTimeType;
288
+ readonly end: DateTimeType;
289
+ readonly shift: StringType;
290
+ readonly team: StringType;
291
+ readonly role: StringType;
292
+ readonly task: OptionType<StringType>;
293
+ readonly unpaidBreak: FloatType;
294
+ readonly agreed: OptionType<BooleanType>;
295
+ readonly costCentre: StringType;
296
+ readonly note: StringType;
297
+ }>>, StructType<Record<never, never> & {
298
+ __interval: IntegerType;
299
+ } & {
300
+ start: DateTimeType;
301
+ }>, NullType, readonly ["start"]> & {
302
+ interval: {
303
+ readonly from: "start";
304
+ readonly to: "end";
305
+ };
306
+ };
307
+ /** The weeks of the rota: the one before issued, this one open. */
308
+ export declare const rosterWeeks: import("@elaraai/e3").RecordDef<DictType<DateTimeType, StructType<{
309
+ readonly state: import("@elaraai/east").VariantType<{
310
+ readonly open: NullType;
311
+ readonly issued: StructType<{
312
+ readonly at: DateTimeType;
313
+ }>;
314
+ }>;
38
315
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
39
- }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "roster_weeks">]>;
316
+ readonly approver: OptionType<StringType>;
317
+ }>>, [variant<"field", "records">, variant<"field", "roster_rota_weeks">]>;
40
318
  export declare const rosterWeeksPatch: import("@elaraai/e3").MutationDef<"patch", DictType<DateTimeType, StructType<{
41
- readonly status: import("@elaraai/east").VariantType<{
42
- readonly draft: NullType;
43
- readonly published: StructType<{
319
+ readonly state: import("@elaraai/east").VariantType<{
320
+ readonly open: NullType;
321
+ readonly issued: StructType<{
44
322
  readonly at: DateTimeType;
45
323
  }>;
46
324
  }>;
47
- readonly assignments: DictType<StringType, StructType<{
48
- readonly slot: StructType<{
49
- readonly day: import("@elaraai/east").IntegerType;
50
- readonly group: StringType;
51
- readonly shift: StringType;
52
- }>;
53
- readonly who: import("@elaraai/east").VariantType<{
54
- readonly person: StringType;
55
- readonly request: StringType;
56
- }>;
57
- readonly position: StringType;
58
- readonly activity: import("@elaraai/east").OptionType<StringType>;
59
- readonly offset: import("@elaraai/east").FloatType;
60
- readonly overtime: import("@elaraai/east").FloatType;
61
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
62
- }>>;
63
- readonly requirements: DictType<StructType<{
64
- readonly day: import("@elaraai/east").IntegerType;
65
- readonly group: StringType;
66
- readonly shift: StringType;
67
- }>, StructType<{
68
- readonly positions: import("@elaraai/east").IntegerType;
69
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
70
- }>>;
71
325
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
326
+ readonly approver: OptionType<StringType>;
72
327
  }>>, [import("@elaraai/east").VariantType<{
73
328
  unchanged: NullType;
74
329
  replace: StructType<{
75
330
  before: DictType<DateTimeType, StructType<{
76
- readonly status: import("@elaraai/east").VariantType<{
77
- readonly draft: NullType;
78
- readonly published: StructType<{
331
+ readonly state: import("@elaraai/east").VariantType<{
332
+ readonly open: NullType;
333
+ readonly issued: StructType<{
79
334
  readonly at: DateTimeType;
80
335
  }>;
81
336
  }>;
82
- readonly assignments: DictType<StringType, StructType<{
83
- readonly slot: StructType<{
84
- readonly day: import("@elaraai/east").IntegerType;
85
- readonly group: StringType;
86
- readonly shift: StringType;
87
- }>;
88
- readonly who: import("@elaraai/east").VariantType<{
89
- readonly person: StringType;
90
- readonly request: StringType;
91
- }>;
92
- readonly position: StringType;
93
- readonly activity: import("@elaraai/east").OptionType<StringType>;
94
- readonly offset: import("@elaraai/east").FloatType;
95
- readonly overtime: import("@elaraai/east").FloatType;
96
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
97
- }>>;
98
- readonly requirements: DictType<StructType<{
99
- readonly day: import("@elaraai/east").IntegerType;
100
- readonly group: StringType;
101
- readonly shift: StringType;
102
- }>, StructType<{
103
- readonly positions: import("@elaraai/east").IntegerType;
104
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
105
- }>>;
106
337
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
338
+ readonly approver: OptionType<StringType>;
107
339
  }>>;
108
340
  after: DictType<DateTimeType, StructType<{
109
- readonly status: import("@elaraai/east").VariantType<{
110
- readonly draft: NullType;
111
- readonly published: StructType<{
341
+ readonly state: import("@elaraai/east").VariantType<{
342
+ readonly open: NullType;
343
+ readonly issued: StructType<{
112
344
  readonly at: DateTimeType;
113
345
  }>;
114
346
  }>;
115
- readonly assignments: DictType<StringType, StructType<{
116
- readonly slot: StructType<{
117
- readonly day: import("@elaraai/east").IntegerType;
118
- readonly group: StringType;
119
- readonly shift: StringType;
120
- }>;
121
- readonly who: import("@elaraai/east").VariantType<{
122
- readonly person: StringType;
123
- readonly request: StringType;
124
- }>;
125
- readonly position: StringType;
126
- readonly activity: import("@elaraai/east").OptionType<StringType>;
127
- readonly offset: import("@elaraai/east").FloatType;
128
- readonly overtime: import("@elaraai/east").FloatType;
129
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
130
- }>>;
131
- readonly requirements: DictType<StructType<{
132
- readonly day: import("@elaraai/east").IntegerType;
133
- readonly group: StringType;
134
- readonly shift: StringType;
135
- }>, StructType<{
136
- readonly positions: import("@elaraai/east").IntegerType;
137
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
138
- }>>;
139
347
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
348
+ readonly approver: OptionType<StringType>;
140
349
  }>>;
141
350
  }>;
142
351
  patch: DictType<DateTimeType, import("@elaraai/east").VariantType<{
143
352
  delete: StructType<{
144
- readonly status: import("@elaraai/east").VariantType<{
145
- readonly draft: NullType;
146
- readonly published: StructType<{
353
+ readonly state: import("@elaraai/east").VariantType<{
354
+ readonly open: NullType;
355
+ readonly issued: StructType<{
147
356
  readonly at: DateTimeType;
148
357
  }>;
149
358
  }>;
150
- readonly assignments: DictType<StringType, StructType<{
151
- readonly slot: StructType<{
152
- readonly day: import("@elaraai/east").IntegerType;
153
- readonly group: StringType;
154
- readonly shift: StringType;
155
- }>;
156
- readonly who: import("@elaraai/east").VariantType<{
157
- readonly person: StringType;
158
- readonly request: StringType;
159
- }>;
160
- readonly position: StringType;
161
- readonly activity: import("@elaraai/east").OptionType<StringType>;
162
- readonly offset: import("@elaraai/east").FloatType;
163
- readonly overtime: import("@elaraai/east").FloatType;
164
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
165
- }>>;
166
- readonly requirements: DictType<StructType<{
167
- readonly day: import("@elaraai/east").IntegerType;
168
- readonly group: StringType;
169
- readonly shift: StringType;
170
- }>, StructType<{
171
- readonly positions: import("@elaraai/east").IntegerType;
172
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
173
- }>>;
174
359
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
360
+ readonly approver: OptionType<StringType>;
175
361
  }>;
176
362
  insert: StructType<{
177
- readonly status: import("@elaraai/east").VariantType<{
178
- readonly draft: NullType;
179
- readonly published: StructType<{
363
+ readonly state: import("@elaraai/east").VariantType<{
364
+ readonly open: NullType;
365
+ readonly issued: StructType<{
180
366
  readonly at: DateTimeType;
181
367
  }>;
182
368
  }>;
183
- readonly assignments: DictType<StringType, StructType<{
184
- readonly slot: StructType<{
185
- readonly day: import("@elaraai/east").IntegerType;
186
- readonly group: StringType;
187
- readonly shift: StringType;
188
- }>;
189
- readonly who: import("@elaraai/east").VariantType<{
190
- readonly person: StringType;
191
- readonly request: StringType;
192
- }>;
193
- readonly position: StringType;
194
- readonly activity: import("@elaraai/east").OptionType<StringType>;
195
- readonly offset: import("@elaraai/east").FloatType;
196
- readonly overtime: import("@elaraai/east").FloatType;
197
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
198
- }>>;
199
- readonly requirements: DictType<StructType<{
200
- readonly day: import("@elaraai/east").IntegerType;
201
- readonly group: StringType;
202
- readonly shift: StringType;
203
- }>, StructType<{
204
- readonly positions: import("@elaraai/east").IntegerType;
205
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
206
- }>>;
207
369
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
370
+ readonly approver: OptionType<StringType>;
208
371
  }>;
209
372
  update: import("@elaraai/east").VariantType<{
210
373
  unchanged: NullType;
211
374
  replace: StructType<{
212
375
  before: StructType<{
213
- readonly status: import("@elaraai/east").VariantType<{
214
- readonly draft: NullType;
215
- readonly published: StructType<{
376
+ readonly state: import("@elaraai/east").VariantType<{
377
+ readonly open: NullType;
378
+ readonly issued: StructType<{
216
379
  readonly at: DateTimeType;
217
380
  }>;
218
381
  }>;
219
- readonly assignments: DictType<StringType, StructType<{
220
- readonly slot: StructType<{
221
- readonly day: import("@elaraai/east").IntegerType;
222
- readonly group: StringType;
223
- readonly shift: StringType;
224
- }>;
225
- readonly who: import("@elaraai/east").VariantType<{
226
- readonly person: StringType;
227
- readonly request: StringType;
228
- }>;
229
- readonly position: StringType;
230
- readonly activity: import("@elaraai/east").OptionType<StringType>;
231
- readonly offset: import("@elaraai/east").FloatType;
232
- readonly overtime: import("@elaraai/east").FloatType;
233
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
234
- }>>;
235
- readonly requirements: DictType<StructType<{
236
- readonly day: import("@elaraai/east").IntegerType;
237
- readonly group: StringType;
238
- readonly shift: StringType;
239
- }>, StructType<{
240
- readonly positions: import("@elaraai/east").IntegerType;
241
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
242
- }>>;
243
382
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
383
+ readonly approver: OptionType<StringType>;
244
384
  }>;
245
385
  after: StructType<{
246
- readonly status: import("@elaraai/east").VariantType<{
247
- readonly draft: NullType;
248
- readonly published: StructType<{
386
+ readonly state: import("@elaraai/east").VariantType<{
387
+ readonly open: NullType;
388
+ readonly issued: StructType<{
249
389
  readonly at: DateTimeType;
250
390
  }>;
251
391
  }>;
252
- readonly assignments: DictType<StringType, StructType<{
253
- readonly slot: StructType<{
254
- readonly day: import("@elaraai/east").IntegerType;
255
- readonly group: StringType;
256
- readonly shift: StringType;
257
- }>;
258
- readonly who: import("@elaraai/east").VariantType<{
259
- readonly person: StringType;
260
- readonly request: StringType;
261
- }>;
262
- readonly position: StringType;
263
- readonly activity: import("@elaraai/east").OptionType<StringType>;
264
- readonly offset: import("@elaraai/east").FloatType;
265
- readonly overtime: import("@elaraai/east").FloatType;
266
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
267
- }>>;
268
- readonly requirements: DictType<StructType<{
269
- readonly day: import("@elaraai/east").IntegerType;
270
- readonly group: StringType;
271
- readonly shift: StringType;
272
- }>, StructType<{
273
- readonly positions: import("@elaraai/east").IntegerType;
274
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
275
- }>>;
276
392
  readonly dismissed: import("@elaraai/east").SetType<StringType>;
393
+ readonly approver: OptionType<StringType>;
277
394
  }>;
278
395
  }>;
279
396
  patch: StructType<{
280
- readonly status: import("@elaraai/east").VariantType<{
397
+ readonly state: import("@elaraai/east").VariantType<{
281
398
  unchanged: NullType;
282
399
  replace: StructType<{
283
400
  before: import("@elaraai/east").VariantType<{
284
- readonly draft: NullType;
285
- readonly published: StructType<{
401
+ readonly open: NullType;
402
+ readonly issued: StructType<{
286
403
  readonly at: DateTimeType;
287
404
  }>;
288
405
  }>;
289
406
  after: import("@elaraai/east").VariantType<{
290
- readonly draft: NullType;
291
- readonly published: StructType<{
407
+ readonly open: NullType;
408
+ readonly issued: StructType<{
292
409
  readonly at: DateTimeType;
293
410
  }>;
294
411
  }>;
295
412
  }>;
296
413
  patch: import("@elaraai/east").VariantType<{
297
- readonly draft: import("@elaraai/east").VariantType<{
414
+ readonly open: import("@elaraai/east").VariantType<{
298
415
  unchanged: NullType;
299
416
  replace: StructType<{
300
417
  before: NullType;
301
418
  after: NullType;
302
419
  }>;
303
420
  }>;
304
- readonly published: import("@elaraai/east").VariantType<{
421
+ readonly issued: import("@elaraai/east").VariantType<{
305
422
  unchanged: NullType;
306
423
  replace: StructType<{
307
424
  before: StructType<{
@@ -323,427 +440,2023 @@ export declare const rosterWeeksPatch: import("@elaraai/e3").MutationDef<"patch"
323
440
  }>;
324
441
  }>;
325
442
  }>;
326
- readonly assignments: import("@elaraai/east").VariantType<{
443
+ readonly dismissed: import("@elaraai/east").VariantType<{
327
444
  unchanged: NullType;
328
445
  replace: StructType<{
329
- before: DictType<StringType, StructType<{
330
- readonly slot: StructType<{
331
- readonly day: import("@elaraai/east").IntegerType;
332
- readonly group: StringType;
333
- readonly shift: StringType;
334
- }>;
335
- readonly who: import("@elaraai/east").VariantType<{
336
- readonly person: StringType;
337
- readonly request: StringType;
338
- }>;
339
- readonly position: StringType;
340
- readonly activity: import("@elaraai/east").OptionType<StringType>;
341
- readonly offset: import("@elaraai/east").FloatType;
342
- readonly overtime: import("@elaraai/east").FloatType;
343
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
344
- }>>;
345
- after: DictType<StringType, StructType<{
346
- readonly slot: StructType<{
347
- readonly day: import("@elaraai/east").IntegerType;
348
- readonly group: StringType;
349
- readonly shift: StringType;
350
- }>;
351
- readonly who: import("@elaraai/east").VariantType<{
352
- readonly person: StringType;
353
- readonly request: StringType;
354
- }>;
355
- readonly position: StringType;
356
- readonly activity: import("@elaraai/east").OptionType<StringType>;
357
- readonly offset: import("@elaraai/east").FloatType;
358
- readonly overtime: import("@elaraai/east").FloatType;
359
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
360
- }>>;
446
+ before: import("@elaraai/east").SetType<StringType>;
447
+ after: import("@elaraai/east").SetType<StringType>;
361
448
  }>;
362
449
  patch: DictType<StringType, import("@elaraai/east").VariantType<{
363
- delete: StructType<{
364
- readonly slot: StructType<{
365
- readonly day: import("@elaraai/east").IntegerType;
366
- readonly group: StringType;
367
- readonly shift: StringType;
368
- }>;
369
- readonly who: import("@elaraai/east").VariantType<{
370
- readonly person: StringType;
371
- readonly request: StringType;
372
- }>;
373
- readonly position: StringType;
374
- readonly activity: import("@elaraai/east").OptionType<StringType>;
375
- readonly offset: import("@elaraai/east").FloatType;
376
- readonly overtime: import("@elaraai/east").FloatType;
377
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
378
- }>;
379
- insert: StructType<{
380
- readonly slot: StructType<{
381
- readonly day: import("@elaraai/east").IntegerType;
382
- readonly group: StringType;
383
- readonly shift: StringType;
384
- }>;
385
- readonly who: import("@elaraai/east").VariantType<{
386
- readonly person: StringType;
387
- readonly request: StringType;
388
- }>;
389
- readonly position: StringType;
390
- readonly activity: import("@elaraai/east").OptionType<StringType>;
391
- readonly offset: import("@elaraai/east").FloatType;
392
- readonly overtime: import("@elaraai/east").FloatType;
393
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
394
- }>;
395
- update: import("@elaraai/east").VariantType<{
450
+ delete: NullType;
451
+ insert: NullType;
452
+ }>>;
453
+ }>;
454
+ readonly approver: import("@elaraai/east").VariantType<{
455
+ unchanged: NullType;
456
+ replace: StructType<{
457
+ before: OptionType<StringType>;
458
+ after: OptionType<StringType>;
459
+ }>;
460
+ patch: import("@elaraai/east").VariantType<{
461
+ none: import("@elaraai/east").VariantType<{
396
462
  unchanged: NullType;
397
463
  replace: StructType<{
398
- before: StructType<{
399
- readonly slot: StructType<{
400
- readonly day: import("@elaraai/east").IntegerType;
401
- readonly group: StringType;
402
- readonly shift: StringType;
403
- }>;
404
- readonly who: import("@elaraai/east").VariantType<{
405
- readonly person: StringType;
406
- readonly request: StringType;
407
- }>;
408
- readonly position: StringType;
409
- readonly activity: import("@elaraai/east").OptionType<StringType>;
410
- readonly offset: import("@elaraai/east").FloatType;
411
- readonly overtime: import("@elaraai/east").FloatType;
412
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
413
- }>;
414
- after: StructType<{
415
- readonly slot: StructType<{
416
- readonly day: import("@elaraai/east").IntegerType;
417
- readonly group: StringType;
418
- readonly shift: StringType;
419
- }>;
420
- readonly who: import("@elaraai/east").VariantType<{
421
- readonly person: StringType;
422
- readonly request: StringType;
423
- }>;
424
- readonly position: StringType;
425
- readonly activity: import("@elaraai/east").OptionType<StringType>;
426
- readonly offset: import("@elaraai/east").FloatType;
427
- readonly overtime: import("@elaraai/east").FloatType;
428
- readonly agreed: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
429
- }>;
430
- }>;
431
- patch: StructType<{
432
- readonly slot: import("@elaraai/east").VariantType<{
433
- unchanged: NullType;
434
- replace: StructType<{
435
- before: StructType<{
436
- readonly day: import("@elaraai/east").IntegerType;
437
- readonly group: StringType;
438
- readonly shift: StringType;
439
- }>;
440
- after: StructType<{
441
- readonly day: import("@elaraai/east").IntegerType;
442
- readonly group: StringType;
443
- readonly shift: StringType;
444
- }>;
445
- }>;
446
- patch: StructType<{
447
- readonly day: import("@elaraai/east").VariantType<{
448
- unchanged: NullType;
449
- replace: StructType<{
450
- before: import("@elaraai/east").IntegerType;
451
- after: import("@elaraai/east").IntegerType;
452
- }>;
453
- }>;
454
- readonly group: import("@elaraai/east").VariantType<{
455
- unchanged: NullType;
456
- replace: StructType<{
457
- before: StringType;
458
- after: StringType;
459
- }>;
460
- }>;
461
- readonly shift: import("@elaraai/east").VariantType<{
462
- unchanged: NullType;
463
- replace: StructType<{
464
- before: StringType;
465
- after: StringType;
466
- }>;
467
- }>;
468
- }>;
469
- }>;
470
- readonly who: import("@elaraai/east").VariantType<{
471
- unchanged: NullType;
472
- replace: StructType<{
473
- before: import("@elaraai/east").VariantType<{
474
- readonly person: StringType;
475
- readonly request: StringType;
476
- }>;
477
- after: import("@elaraai/east").VariantType<{
478
- readonly person: StringType;
479
- readonly request: StringType;
480
- }>;
481
- }>;
482
- patch: import("@elaraai/east").VariantType<{
483
- readonly person: import("@elaraai/east").VariantType<{
484
- unchanged: NullType;
485
- replace: StructType<{
486
- before: StringType;
487
- after: StringType;
488
- }>;
489
- }>;
490
- readonly request: import("@elaraai/east").VariantType<{
491
- unchanged: NullType;
492
- replace: StructType<{
493
- before: StringType;
494
- after: StringType;
495
- }>;
496
- }>;
497
- }>;
498
- }>;
499
- readonly position: import("@elaraai/east").VariantType<{
500
- unchanged: NullType;
501
- replace: StructType<{
502
- before: StringType;
503
- after: StringType;
504
- }>;
505
- }>;
506
- readonly activity: import("@elaraai/east").VariantType<{
507
- unchanged: NullType;
508
- replace: StructType<{
509
- before: import("@elaraai/east").OptionType<StringType>;
510
- after: import("@elaraai/east").OptionType<StringType>;
511
- }>;
512
- patch: import("@elaraai/east").VariantType<{
513
- none: import("@elaraai/east").VariantType<{
514
- unchanged: NullType;
515
- replace: StructType<{
516
- before: NullType;
517
- after: NullType;
518
- }>;
519
- }>;
520
- some: import("@elaraai/east").VariantType<{
521
- unchanged: NullType;
522
- replace: StructType<{
523
- before: StringType;
524
- after: StringType;
525
- }>;
526
- }>;
527
- }>;
528
- }>;
529
- readonly offset: import("@elaraai/east").VariantType<{
530
- unchanged: NullType;
531
- replace: StructType<{
532
- before: import("@elaraai/east").FloatType;
533
- after: import("@elaraai/east").FloatType;
534
- }>;
535
- }>;
536
- readonly overtime: import("@elaraai/east").VariantType<{
537
- unchanged: NullType;
538
- replace: StructType<{
539
- before: import("@elaraai/east").FloatType;
540
- after: import("@elaraai/east").FloatType;
541
- }>;
542
- }>;
543
- readonly agreed: import("@elaraai/east").VariantType<{
544
- unchanged: NullType;
545
- replace: StructType<{
546
- before: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
547
- after: import("@elaraai/east").OptionType<import("@elaraai/east").BooleanType>;
548
- }>;
549
- patch: import("@elaraai/east").VariantType<{
550
- none: import("@elaraai/east").VariantType<{
551
- unchanged: NullType;
552
- replace: StructType<{
553
- before: NullType;
554
- after: NullType;
555
- }>;
556
- }>;
557
- some: import("@elaraai/east").VariantType<{
558
- unchanged: NullType;
559
- replace: StructType<{
560
- before: import("@elaraai/east").BooleanType;
561
- after: import("@elaraai/east").BooleanType;
562
- }>;
563
- }>;
564
- }>;
565
- }>;
464
+ before: NullType;
465
+ after: NullType;
566
466
  }>;
567
467
  }>;
568
- }>>;
569
- }>;
570
- readonly requirements: import("@elaraai/east").VariantType<{
571
- unchanged: NullType;
572
- replace: StructType<{
573
- before: DictType<StructType<{
574
- readonly day: import("@elaraai/east").IntegerType;
575
- readonly group: StringType;
576
- readonly shift: StringType;
577
- }>, StructType<{
578
- readonly positions: import("@elaraai/east").IntegerType;
579
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
580
- }>>;
581
- after: DictType<StructType<{
582
- readonly day: import("@elaraai/east").IntegerType;
583
- readonly group: StringType;
584
- readonly shift: StringType;
585
- }>, StructType<{
586
- readonly positions: import("@elaraai/east").IntegerType;
587
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
588
- }>>;
589
- }>;
590
- patch: DictType<StructType<{
591
- readonly day: import("@elaraai/east").IntegerType;
592
- readonly group: StringType;
593
- readonly shift: StringType;
594
- }>, import("@elaraai/east").VariantType<{
595
- delete: StructType<{
596
- readonly positions: import("@elaraai/east").IntegerType;
597
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
598
- }>;
599
- insert: StructType<{
600
- readonly positions: import("@elaraai/east").IntegerType;
601
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
602
- }>;
603
- update: import("@elaraai/east").VariantType<{
468
+ some: import("@elaraai/east").VariantType<{
604
469
  unchanged: NullType;
605
470
  replace: StructType<{
606
- before: StructType<{
607
- readonly positions: import("@elaraai/east").IntegerType;
608
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
609
- }>;
610
- after: StructType<{
611
- readonly positions: import("@elaraai/east").IntegerType;
612
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
613
- }>;
614
- }>;
615
- patch: StructType<{
616
- readonly positions: import("@elaraai/east").VariantType<{
617
- unchanged: NullType;
618
- replace: StructType<{
619
- before: import("@elaraai/east").IntegerType;
620
- after: import("@elaraai/east").IntegerType;
621
- }>;
622
- }>;
623
- readonly hours: import("@elaraai/east").VariantType<{
624
- unchanged: NullType;
625
- replace: StructType<{
626
- before: DictType<StringType, import("@elaraai/east").FloatType>;
627
- after: DictType<StringType, import("@elaraai/east").FloatType>;
628
- }>;
629
- patch: DictType<StringType, import("@elaraai/east").VariantType<{
630
- delete: import("@elaraai/east").FloatType;
631
- insert: import("@elaraai/east").FloatType;
632
- update: import("@elaraai/east").VariantType<{
633
- unchanged: NullType;
634
- replace: StructType<{
635
- before: import("@elaraai/east").FloatType;
636
- after: import("@elaraai/east").FloatType;
637
- }>;
638
- }>;
639
- }>>;
640
- }>;
471
+ before: StringType;
472
+ after: StringType;
641
473
  }>;
642
474
  }>;
643
- }>>;
475
+ }>;
644
476
  }>;
645
- readonly dismissed: import("@elaraai/east").VariantType<{
477
+ }>;
478
+ }>;
479
+ }>>;
480
+ }>]>;
481
+ /** The cover targets, a row per slot: the week before's, this week's and the forecast's for the week after. */
482
+ export declare const rosterCover: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
483
+ readonly day: DateTimeType;
484
+ readonly team: StringType;
485
+ readonly shift: StringType;
486
+ readonly heads: IntegerType;
487
+ readonly hours: DictType<StringType, FloatType>;
488
+ readonly basis: StringType;
489
+ }>>, [variant<"field", "records">, variant<"field", "roster_cover">]>;
490
+ export declare const rosterCoverPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
491
+ readonly day: DateTimeType;
492
+ readonly team: StringType;
493
+ readonly shift: StringType;
494
+ readonly heads: IntegerType;
495
+ readonly hours: DictType<StringType, FloatType>;
496
+ readonly basis: StringType;
497
+ }>>, [import("@elaraai/east").VariantType<{
498
+ unchanged: NullType;
499
+ replace: StructType<{
500
+ before: DictType<StringType, StructType<{
501
+ readonly day: DateTimeType;
502
+ readonly team: StringType;
503
+ readonly shift: StringType;
504
+ readonly heads: IntegerType;
505
+ readonly hours: DictType<StringType, FloatType>;
506
+ readonly basis: StringType;
507
+ }>>;
508
+ after: DictType<StringType, StructType<{
509
+ readonly day: DateTimeType;
510
+ readonly team: StringType;
511
+ readonly shift: StringType;
512
+ readonly heads: IntegerType;
513
+ readonly hours: DictType<StringType, FloatType>;
514
+ readonly basis: StringType;
515
+ }>>;
516
+ }>;
517
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
518
+ delete: StructType<{
519
+ readonly day: DateTimeType;
520
+ readonly team: StringType;
521
+ readonly shift: StringType;
522
+ readonly heads: IntegerType;
523
+ readonly hours: DictType<StringType, FloatType>;
524
+ readonly basis: StringType;
525
+ }>;
526
+ insert: StructType<{
527
+ readonly day: DateTimeType;
528
+ readonly team: StringType;
529
+ readonly shift: StringType;
530
+ readonly heads: IntegerType;
531
+ readonly hours: DictType<StringType, FloatType>;
532
+ readonly basis: StringType;
533
+ }>;
534
+ update: import("@elaraai/east").VariantType<{
535
+ unchanged: NullType;
536
+ replace: StructType<{
537
+ before: StructType<{
538
+ readonly day: DateTimeType;
539
+ readonly team: StringType;
540
+ readonly shift: StringType;
541
+ readonly heads: IntegerType;
542
+ readonly hours: DictType<StringType, FloatType>;
543
+ readonly basis: StringType;
544
+ }>;
545
+ after: StructType<{
546
+ readonly day: DateTimeType;
547
+ readonly team: StringType;
548
+ readonly shift: StringType;
549
+ readonly heads: IntegerType;
550
+ readonly hours: DictType<StringType, FloatType>;
551
+ readonly basis: StringType;
552
+ }>;
553
+ }>;
554
+ patch: StructType<{
555
+ readonly day: import("@elaraai/east").VariantType<{
646
556
  unchanged: NullType;
647
557
  replace: StructType<{
648
- before: import("@elaraai/east").SetType<StringType>;
649
- after: import("@elaraai/east").SetType<StringType>;
558
+ before: DateTimeType;
559
+ after: DateTimeType;
560
+ }>;
561
+ }>;
562
+ readonly team: import("@elaraai/east").VariantType<{
563
+ unchanged: NullType;
564
+ replace: StructType<{
565
+ before: StringType;
566
+ after: StringType;
567
+ }>;
568
+ }>;
569
+ readonly shift: import("@elaraai/east").VariantType<{
570
+ unchanged: NullType;
571
+ replace: StructType<{
572
+ before: StringType;
573
+ after: StringType;
574
+ }>;
575
+ }>;
576
+ readonly heads: import("@elaraai/east").VariantType<{
577
+ unchanged: NullType;
578
+ replace: StructType<{
579
+ before: IntegerType;
580
+ after: IntegerType;
581
+ }>;
582
+ }>;
583
+ readonly hours: import("@elaraai/east").VariantType<{
584
+ unchanged: NullType;
585
+ replace: StructType<{
586
+ before: DictType<StringType, FloatType>;
587
+ after: DictType<StringType, FloatType>;
650
588
  }>;
651
589
  patch: DictType<StringType, import("@elaraai/east").VariantType<{
652
- delete: NullType;
653
- insert: NullType;
590
+ delete: FloatType;
591
+ insert: FloatType;
592
+ update: import("@elaraai/east").VariantType<{
593
+ unchanged: NullType;
594
+ replace: StructType<{
595
+ before: FloatType;
596
+ after: FloatType;
597
+ }>;
598
+ }>;
654
599
  }>>;
655
600
  }>;
601
+ readonly basis: import("@elaraai/east").VariantType<{
602
+ unchanged: NullType;
603
+ replace: StructType<{
604
+ before: StringType;
605
+ after: StringType;
606
+ }>;
607
+ }>;
656
608
  }>;
657
609
  }>;
658
610
  }>>;
659
611
  }>]>;
612
+ /** The suggestions: someone for a slot, and why. */
613
+ export declare const rosterSuggestions: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
614
+ readonly person: StringType;
615
+ readonly day: DateTimeType;
616
+ readonly team: StringType;
617
+ readonly shift: StringType;
618
+ readonly why: StringType;
619
+ }>>, [variant<"field", "records">, variant<"field", "roster_suggestions">]>;
620
+ /** The pay rates, an hour, by the warehouse's own pay codes. */
621
+ export declare const rosterPayRates: import("@elaraai/e3").RecordDef<DictType<StringType, FloatType>, [variant<"field", "records">, variant<"field", "roster_pay_rates">]>;
660
622
  export declare const rosterStaff: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
661
623
  readonly name: StringType;
662
624
  readonly team: StringType;
663
625
  readonly position: StringType;
664
626
  readonly skills: import("@elaraai/east").SetType<StringType>;
665
- readonly contract: import("@elaraai/east").FloatType;
666
- readonly agency: import("@elaraai/east").BooleanType;
667
- readonly trainer: import("@elaraai/east").BooleanType;
668
- readonly trainee: import("@elaraai/east").BooleanType;
669
- readonly usual: import("@elaraai/east").OptionType<StringType>;
670
- }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "roster_staff">]>;
671
- export declare const rosterConfiguration: import("@elaraai/e3").RecordDef<StructType<{
672
- readonly groups: ArrayType<StructType<{
673
- readonly key: StringType;
674
- readonly label: StringType;
675
- readonly skills: ArrayType<StructType<{
627
+ readonly contract: FloatType;
628
+ readonly agency: BooleanType;
629
+ readonly trainer: BooleanType;
630
+ readonly trainee: BooleanType;
631
+ readonly usual: OptionType<StringType>;
632
+ }>>, [variant<"field", "records">, variant<"field", "roster_staff">]>;
633
+ export declare const rosterAgencies: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
634
+ readonly name: StringType;
635
+ }>>, [variant<"field", "records">, variant<"field", "roster_agencies">]>;
636
+ export declare const rosterShiftTimes: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
637
+ readonly label: StringType;
638
+ readonly code: StringType;
639
+ readonly start: StructType<{
640
+ readonly hour: IntegerType;
641
+ readonly minute: IntegerType;
642
+ }>;
643
+ readonly hours: FloatType;
644
+ readonly order: IntegerType;
645
+ }>>, [variant<"field", "records">, variant<"field", "roster_shift_times">]>;
646
+ export declare const rosterTeams: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
647
+ readonly label: StringType;
648
+ readonly order: IntegerType;
649
+ }>>, [variant<"field", "records">, variant<"field", "roster_teams">]>;
650
+ export declare const rosterPositions: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
651
+ readonly label: StringType;
652
+ readonly code: StringType;
653
+ readonly lead: BooleanType;
654
+ readonly order: IntegerType;
655
+ }>>, [variant<"field", "records">, variant<"field", "roster_positions">]>;
656
+ /** Every activity by its key: each group's skills, and the duty of none (#1342). */
657
+ export declare const rosterActivities: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
658
+ readonly label: StringType;
659
+ readonly code: StringType;
660
+ readonly group: OptionType<StringType>;
661
+ readonly order: IntegerType;
662
+ }>>, [variant<"field", "records">, variant<"field", "roster_activities">]>;
663
+ export declare const rosterStaffByTeamName: import("@elaraai/e3").RecordIndexDef<"roster_staff_by_team_name", DictType<StringType, StructType<{
664
+ readonly name: StringType;
665
+ readonly team: StringType;
666
+ readonly position: StringType;
667
+ readonly skills: import("@elaraai/east").SetType<StringType>;
668
+ readonly contract: FloatType;
669
+ readonly agency: BooleanType;
670
+ readonly trainer: BooleanType;
671
+ readonly trainee: BooleanType;
672
+ readonly usual: OptionType<StringType>;
673
+ }>>, StructType<{
674
+ name: StringType;
675
+ team: StringType;
676
+ }>, NullType, readonly ["team", "name"]> & {
677
+ interval: undefined;
678
+ };
679
+ export declare const rosterStaffByPosition: import("@elaraai/e3").RecordIndexDef<"roster_staff_by_position", DictType<StringType, StructType<{
680
+ readonly name: StringType;
681
+ readonly team: StringType;
682
+ readonly position: StringType;
683
+ readonly skills: import("@elaraai/east").SetType<StringType>;
684
+ readonly contract: FloatType;
685
+ readonly agency: BooleanType;
686
+ readonly trainer: BooleanType;
687
+ readonly trainee: BooleanType;
688
+ readonly usual: OptionType<StringType>;
689
+ }>>, StringType, NullType, readonly ["position"]> & {
690
+ interval: undefined;
691
+ };
692
+ export declare const rosterStaffByTrainer: import("@elaraai/e3").RecordIndexDef<"roster_staff_by_trainer", DictType<StringType, StructType<{
693
+ readonly name: StringType;
694
+ readonly team: StringType;
695
+ readonly position: StringType;
696
+ readonly skills: import("@elaraai/east").SetType<StringType>;
697
+ readonly contract: FloatType;
698
+ readonly agency: BooleanType;
699
+ readonly trainer: BooleanType;
700
+ readonly trainee: BooleanType;
701
+ readonly usual: OptionType<StringType>;
702
+ }>>, BooleanType, NullType, readonly ["trainer"]> & {
703
+ interval: undefined;
704
+ };
705
+ export declare const rosterStaffByAgency: import("@elaraai/e3").RecordIndexDef<"roster_staff_by_agency", DictType<StringType, StructType<{
706
+ readonly name: StringType;
707
+ readonly team: StringType;
708
+ readonly position: StringType;
709
+ readonly skills: import("@elaraai/east").SetType<StringType>;
710
+ readonly contract: FloatType;
711
+ readonly agency: BooleanType;
712
+ readonly trainer: BooleanType;
713
+ readonly trainee: BooleanType;
714
+ readonly usual: OptionType<StringType>;
715
+ }>>, BooleanType, NullType, readonly ["agency"]> & {
716
+ interval: undefined;
717
+ };
718
+ export declare const rosterStaffBySkill: import("@elaraai/e3").RecordIndexDef<"roster_staff_by_skill", DictType<StringType, StructType<{
719
+ readonly name: StringType;
720
+ readonly team: StringType;
721
+ readonly position: StringType;
722
+ readonly skills: import("@elaraai/east").SetType<StringType>;
723
+ readonly contract: FloatType;
724
+ readonly agency: BooleanType;
725
+ readonly trainer: BooleanType;
726
+ readonly trainee: BooleanType;
727
+ readonly usual: OptionType<StringType>;
728
+ }>>, StringType, NullType, readonly ["skills"]> & {
729
+ interval: undefined;
730
+ };
731
+ export declare const rosterStaffByName: import("@elaraai/e3").RecordIndexDef<"roster_staff_by_name", DictType<StringType, StructType<{
732
+ readonly name: StringType;
733
+ readonly team: StringType;
734
+ readonly position: StringType;
735
+ readonly skills: import("@elaraai/east").SetType<StringType>;
736
+ readonly contract: FloatType;
737
+ readonly agency: BooleanType;
738
+ readonly trainer: BooleanType;
739
+ readonly trainee: BooleanType;
740
+ readonly usual: OptionType<StringType>;
741
+ }>>, StringType, NullType, readonly ["name"]> & {
742
+ interval: undefined;
743
+ };
744
+ export declare const rosterActivitiesByGroup: import("@elaraai/e3").RecordIndexDef<"roster_activities_by_group", DictType<StringType, StructType<{
745
+ readonly label: StringType;
746
+ readonly code: StringType;
747
+ readonly group: OptionType<StringType>;
748
+ readonly order: IntegerType;
749
+ }>>, OptionType<StringType>, NullType, readonly ["group"]> & {
750
+ interval: undefined;
751
+ };
752
+ /** The warehouse's fit's body: the ready-made rule, then a greedy order — the people off that day with the most spare contract hours first, whatever their group. */
753
+ export declare const rosterStaffFitBody: import("@elaraai/east").CallableFunctionExpr<[StructType<{
754
+ readonly need: import("@elaraai/east").VariantType<{
755
+ readonly leads: NullType;
756
+ readonly trainers: NullType;
757
+ readonly skill: StringType;
758
+ }>;
759
+ readonly slot: StructType<{
760
+ readonly day: IntegerType;
761
+ readonly group: StringType;
762
+ readonly shift: StringType;
763
+ }>;
764
+ readonly start: DateTimeType;
765
+ readonly week: StructType<{
766
+ readonly status: import("@elaraai/east").VariantType<{
767
+ readonly draft: NullType;
768
+ readonly published: StructType<{
769
+ readonly at: OptionType<DateTimeType>;
770
+ }>;
771
+ readonly other: StringType;
772
+ }>;
773
+ readonly assignments: DictType<StringType, StructType<{
774
+ readonly slot: StructType<{
775
+ readonly day: IntegerType;
776
+ readonly group: StringType;
777
+ readonly shift: StringType;
778
+ }>;
779
+ readonly who: import("@elaraai/east").VariantType<{
780
+ readonly person: StringType;
781
+ readonly request: StringType;
782
+ }>;
783
+ readonly position: StringType;
784
+ readonly activity: OptionType<StringType>;
785
+ readonly start: DateTimeType;
786
+ readonly end: DateTimeType;
787
+ readonly hours: FloatType;
788
+ readonly row: StructType<{
789
+ readonly who: import("@elaraai/east").VariantType<{
790
+ readonly staff: StringType;
791
+ readonly agency: StringType;
792
+ }>;
793
+ readonly start: DateTimeType;
794
+ readonly end: DateTimeType;
795
+ readonly shift: StringType;
796
+ readonly team: StringType;
797
+ readonly role: StringType;
798
+ readonly task: OptionType<StringType>;
799
+ readonly unpaidBreak: FloatType;
800
+ readonly agreed: OptionType<BooleanType>;
801
+ readonly costCentre: StringType;
802
+ readonly note: StringType;
803
+ }>;
804
+ }>>;
805
+ readonly requirements: DictType<StructType<{
806
+ readonly day: IntegerType;
807
+ readonly group: StringType;
808
+ readonly shift: StringType;
809
+ }>, StructType<{
810
+ readonly positions: IntegerType;
811
+ readonly hours: DictType<StringType, FloatType>;
812
+ }>>;
813
+ readonly dismissed: import("@elaraai/east").SetType<StringType>;
814
+ }>;
815
+ readonly context: StructType<{
816
+ readonly people: DictType<StringType, StructType<{
817
+ readonly key: StringType;
818
+ readonly name: StringType;
819
+ readonly group: StringType;
820
+ readonly position: StringType;
821
+ readonly skills: import("@elaraai/east").SetType<StringType>;
822
+ readonly contract: FloatType;
823
+ readonly agency: BooleanType;
824
+ readonly trainer: BooleanType;
825
+ readonly trainee: BooleanType;
826
+ readonly usual: OptionType<StringType>;
827
+ }>>;
828
+ readonly groups: ArrayType<StructType<{
829
+ readonly key: StringType;
830
+ readonly label: StringType;
831
+ }>>;
832
+ readonly activities: ArrayType<StructType<{
676
833
  readonly key: StringType;
677
834
  readonly label: StringType;
678
835
  readonly code: StringType;
836
+ readonly group: OptionType<StringType>;
679
837
  }>>;
838
+ readonly shifts: ArrayType<StructType<{
839
+ readonly key: StringType;
840
+ readonly label: StringType;
841
+ readonly code: StringType;
842
+ readonly start: StructType<{
843
+ readonly hour: IntegerType;
844
+ readonly minute: IntegerType;
845
+ }>;
846
+ readonly hours: FloatType;
847
+ }>>;
848
+ readonly positions: ArrayType<StructType<{
849
+ readonly key: StringType;
850
+ readonly label: StringType;
851
+ readonly code: StringType;
852
+ readonly lead: BooleanType;
853
+ }>>;
854
+ readonly agencies: ArrayType<StructType<{
855
+ readonly key: StringType;
856
+ readonly name: StringType;
857
+ }>>;
858
+ readonly rules: StructType<{
859
+ readonly rest: FloatType;
860
+ readonly lead: BooleanType;
861
+ readonly trainer: BooleanType;
862
+ readonly skill: BooleanType;
863
+ }>;
864
+ }>;
865
+ readonly coverage: DictType<StructType<{
866
+ readonly day: IntegerType;
867
+ readonly group: StringType;
868
+ readonly shift: StringType;
869
+ }>, StructType<{
870
+ readonly positions: IntegerType;
871
+ readonly filled: IntegerType;
872
+ readonly open: IntegerType;
873
+ readonly people: IntegerType;
874
+ readonly hours: StructType<{
875
+ readonly permanent: FloatType;
876
+ readonly agency: FloatType;
877
+ readonly requested: FloatType;
878
+ readonly needed: FloatType;
879
+ readonly rostered: FloatType;
880
+ }>;
881
+ readonly lines: ArrayType<StructType<{
882
+ readonly skill: StringType;
883
+ readonly needed: FloatType;
884
+ readonly holders: OptionType<IntegerType>;
885
+ readonly capacity: OptionType<FloatType>;
886
+ readonly gap: FloatType;
887
+ readonly assigned: FloatType;
888
+ }>>;
889
+ readonly cost: FloatType;
890
+ readonly lead: BooleanType;
891
+ readonly trainer: BooleanType;
680
892
  }>>;
681
- readonly shifts: ArrayType<StructType<{
682
- readonly key: StringType;
683
- readonly label: StringType;
684
- readonly code: StringType;
685
- readonly start: StructType<{
686
- readonly hour: import("@elaraai/east").IntegerType;
687
- readonly minute: import("@elaraai/east").IntegerType;
688
- }>;
689
- readonly hours: import("@elaraai/east").FloatType;
690
- }>>;
691
- readonly duties: ArrayType<StructType<{
692
- readonly key: StringType;
693
- readonly label: StringType;
694
- readonly code: StringType;
695
- }>>;
696
- readonly positions: DictType<StringType, StructType<{
697
- readonly key: StringType;
698
- readonly label: StringType;
699
- readonly code: StringType;
700
- readonly lead: import("@elaraai/east").BooleanType;
893
+ }>], StructType<{
894
+ readonly need: import("@elaraai/east").VariantType<{
895
+ readonly leads: NullType;
896
+ readonly trainers: NullType;
897
+ readonly skill: StringType;
898
+ }>;
899
+ readonly slot: StructType<{
900
+ readonly day: IntegerType;
901
+ readonly group: StringType;
902
+ readonly shift: StringType;
903
+ }>;
904
+ readonly people: DictType<StringType, import("@elaraai/east").VariantType<{
905
+ readonly fits: StructType<{
906
+ readonly score: FloatType;
907
+ readonly why: StringType;
908
+ readonly warn: OptionType<StringType>;
909
+ }>;
910
+ readonly refused: StructType<{
911
+ readonly group: StringType;
912
+ readonly reason: StringType;
913
+ readonly measure: import("@elaraai/east").VariantType<{
914
+ readonly none: NullType;
915
+ readonly amount: StructType<{
916
+ readonly lead: StringType;
917
+ readonly value: FloatType;
918
+ }>;
919
+ readonly day: StructType<{
920
+ readonly lead: StringType;
921
+ readonly at: DateTimeType;
922
+ }>;
923
+ }>;
924
+ }>;
701
925
  }>>;
702
- readonly agencies: ArrayType<StructType<{
703
- readonly key: StringType;
704
- readonly name: StringType;
926
+ }>>;
927
+ export declare const rosterStaffFit: import("@elaraai/e3").FunctionDef<[StructType<{
928
+ readonly need: import("@elaraai/east").VariantType<{
929
+ readonly leads: NullType;
930
+ readonly trainers: NullType;
931
+ readonly skill: StringType;
932
+ }>;
933
+ readonly slot: StructType<{
934
+ readonly day: IntegerType;
935
+ readonly group: StringType;
936
+ readonly shift: StringType;
937
+ }>;
938
+ readonly start: DateTimeType;
939
+ readonly week: StructType<{
940
+ readonly status: import("@elaraai/east").VariantType<{
941
+ readonly draft: NullType;
942
+ readonly published: StructType<{
943
+ readonly at: OptionType<DateTimeType>;
944
+ }>;
945
+ readonly other: StringType;
946
+ }>;
947
+ readonly assignments: DictType<StringType, StructType<{
948
+ readonly slot: StructType<{
949
+ readonly day: IntegerType;
950
+ readonly group: StringType;
951
+ readonly shift: StringType;
952
+ }>;
953
+ readonly who: import("@elaraai/east").VariantType<{
954
+ readonly person: StringType;
955
+ readonly request: StringType;
956
+ }>;
957
+ readonly position: StringType;
958
+ readonly activity: OptionType<StringType>;
959
+ readonly start: DateTimeType;
960
+ readonly end: DateTimeType;
961
+ readonly hours: FloatType;
962
+ readonly row: StructType<{
963
+ readonly who: import("@elaraai/east").VariantType<{
964
+ readonly staff: StringType;
965
+ readonly agency: StringType;
966
+ }>;
967
+ readonly start: DateTimeType;
968
+ readonly end: DateTimeType;
969
+ readonly shift: StringType;
970
+ readonly team: StringType;
971
+ readonly role: StringType;
972
+ readonly task: OptionType<StringType>;
973
+ readonly unpaidBreak: FloatType;
974
+ readonly agreed: OptionType<BooleanType>;
975
+ readonly costCentre: StringType;
976
+ readonly note: StringType;
977
+ }>;
978
+ }>>;
979
+ readonly requirements: DictType<StructType<{
980
+ readonly day: IntegerType;
981
+ readonly group: StringType;
982
+ readonly shift: StringType;
983
+ }>, StructType<{
984
+ readonly positions: IntegerType;
985
+ readonly hours: DictType<StringType, FloatType>;
986
+ }>>;
987
+ readonly dismissed: import("@elaraai/east").SetType<StringType>;
988
+ }>;
989
+ readonly context: StructType<{
990
+ readonly people: DictType<StringType, StructType<{
991
+ readonly key: StringType;
992
+ readonly name: StringType;
993
+ readonly group: StringType;
994
+ readonly position: StringType;
995
+ readonly skills: import("@elaraai/east").SetType<StringType>;
996
+ readonly contract: FloatType;
997
+ readonly agency: BooleanType;
998
+ readonly trainer: BooleanType;
999
+ readonly trainee: BooleanType;
1000
+ readonly usual: OptionType<StringType>;
1001
+ }>>;
1002
+ readonly groups: ArrayType<StructType<{
1003
+ readonly key: StringType;
1004
+ readonly label: StringType;
1005
+ }>>;
1006
+ readonly activities: ArrayType<StructType<{
1007
+ readonly key: StringType;
1008
+ readonly label: StringType;
1009
+ readonly code: StringType;
1010
+ readonly group: OptionType<StringType>;
1011
+ }>>;
1012
+ readonly shifts: ArrayType<StructType<{
1013
+ readonly key: StringType;
1014
+ readonly label: StringType;
1015
+ readonly code: StringType;
1016
+ readonly start: StructType<{
1017
+ readonly hour: IntegerType;
1018
+ readonly minute: IntegerType;
1019
+ }>;
1020
+ readonly hours: FloatType;
1021
+ }>>;
1022
+ readonly positions: ArrayType<StructType<{
1023
+ readonly key: StringType;
1024
+ readonly label: StringType;
1025
+ readonly code: StringType;
1026
+ readonly lead: BooleanType;
1027
+ }>>;
1028
+ readonly agencies: ArrayType<StructType<{
1029
+ readonly key: StringType;
1030
+ readonly name: StringType;
1031
+ }>>;
1032
+ readonly rules: StructType<{
1033
+ readonly rest: FloatType;
1034
+ readonly lead: BooleanType;
1035
+ readonly trainer: BooleanType;
1036
+ readonly skill: BooleanType;
1037
+ }>;
1038
+ }>;
1039
+ readonly coverage: DictType<StructType<{
1040
+ readonly day: IntegerType;
1041
+ readonly group: StringType;
1042
+ readonly shift: StringType;
1043
+ }>, StructType<{
1044
+ readonly positions: IntegerType;
1045
+ readonly filled: IntegerType;
1046
+ readonly open: IntegerType;
1047
+ readonly people: IntegerType;
1048
+ readonly hours: StructType<{
1049
+ readonly permanent: FloatType;
1050
+ readonly agency: FloatType;
1051
+ readonly requested: FloatType;
1052
+ readonly needed: FloatType;
1053
+ readonly rostered: FloatType;
1054
+ }>;
1055
+ readonly lines: ArrayType<StructType<{
1056
+ readonly skill: StringType;
1057
+ readonly needed: FloatType;
1058
+ readonly holders: OptionType<IntegerType>;
1059
+ readonly capacity: OptionType<FloatType>;
1060
+ readonly gap: FloatType;
1061
+ readonly assigned: FloatType;
1062
+ }>>;
1063
+ readonly cost: FloatType;
1064
+ readonly lead: BooleanType;
1065
+ readonly trainer: BooleanType;
705
1066
  }>>;
706
- readonly rules: StructType<{
707
- readonly rest: import("@elaraai/east").FloatType;
708
- readonly lead: import("@elaraai/east").BooleanType;
709
- readonly trainer: import("@elaraai/east").BooleanType;
710
- readonly skill: import("@elaraai/east").BooleanType;
711
- readonly agree: import("@elaraai/east").BooleanType;
712
- }>;
713
- readonly costs: StructType<{
714
- readonly currency: StringType;
715
- readonly rates: StructType<{
716
- readonly permanent: import("@elaraai/east").FloatType;
717
- readonly overtime: import("@elaraai/east").FloatType;
718
- readonly agency: import("@elaraai/east").FloatType;
719
- }>;
720
- readonly budget: import("@elaraai/east").OptionType<import("@elaraai/east").FloatType>;
721
- }>;
722
- }>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "roster_configuration">]>;
723
- export declare const rosterForecast: import("@elaraai/e3").RecordDef<DictType<DateTimeType, DictType<StructType<{
724
- readonly day: import("@elaraai/east").IntegerType;
725
- readonly group: StringType;
726
- readonly shift: StringType;
727
- }>, StructType<{
728
- readonly positions: import("@elaraai/east").IntegerType;
729
- readonly hours: DictType<StringType, import("@elaraai/east").FloatType>;
730
- }>>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "roster_forecast">]>;
731
- export declare const rosterProposals: import("@elaraai/e3").RecordDef<ArrayType<StructType<{
732
- readonly key: StringType;
733
- readonly week: DateTimeType;
1067
+ }>], StructType<{
1068
+ readonly need: import("@elaraai/east").VariantType<{
1069
+ readonly leads: NullType;
1070
+ readonly trainers: NullType;
1071
+ readonly skill: StringType;
1072
+ }>;
734
1073
  readonly slot: StructType<{
735
- readonly day: import("@elaraai/east").IntegerType;
1074
+ readonly day: IntegerType;
736
1075
  readonly group: StringType;
737
1076
  readonly shift: StringType;
738
1077
  }>;
739
- readonly person: StringType;
740
- readonly reason: StringType;
741
- }>>, [import("@elaraai/east").variant<"field", "records">, import("@elaraai/east").variant<"field", "roster_proposals">]>;
742
- export declare const rosterWarehouse: import("@elaraai/east").ExampleDef<[], any>;
743
- export declare const rosterMobile: import("@elaraai/east").ExampleDef<[], any>;
744
- export declare const rosterPeople: import("@elaraai/east").ExampleDef<[], any>;
745
- export declare const rosterWeek: import("@elaraai/east").ExampleDef<[], any>;
746
- export declare const rosterWindowed: import("@elaraai/east").ExampleDef<[], any>;
1078
+ readonly people: DictType<StringType, import("@elaraai/east").VariantType<{
1079
+ readonly fits: StructType<{
1080
+ readonly score: FloatType;
1081
+ readonly why: StringType;
1082
+ readonly warn: OptionType<StringType>;
1083
+ }>;
1084
+ readonly refused: StructType<{
1085
+ readonly group: StringType;
1086
+ readonly reason: StringType;
1087
+ readonly measure: import("@elaraai/east").VariantType<{
1088
+ readonly none: NullType;
1089
+ readonly amount: StructType<{
1090
+ readonly lead: StringType;
1091
+ readonly value: FloatType;
1092
+ }>;
1093
+ readonly day: StructType<{
1094
+ readonly lead: StringType;
1095
+ readonly at: DateTimeType;
1096
+ }>;
1097
+ }>;
1098
+ }>;
1099
+ }>>;
1100
+ }>>;
1101
+ /** The staff's patch door: another session's edit of the staff. */
1102
+ export declare const rosterStaffPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
1103
+ readonly name: StringType;
1104
+ readonly team: StringType;
1105
+ readonly position: StringType;
1106
+ readonly skills: import("@elaraai/east").SetType<StringType>;
1107
+ readonly contract: FloatType;
1108
+ readonly agency: BooleanType;
1109
+ readonly trainer: BooleanType;
1110
+ readonly trainee: BooleanType;
1111
+ readonly usual: OptionType<StringType>;
1112
+ }>>, [import("@elaraai/east").VariantType<{
1113
+ unchanged: NullType;
1114
+ replace: StructType<{
1115
+ before: DictType<StringType, StructType<{
1116
+ readonly name: StringType;
1117
+ readonly team: StringType;
1118
+ readonly position: StringType;
1119
+ readonly skills: import("@elaraai/east").SetType<StringType>;
1120
+ readonly contract: FloatType;
1121
+ readonly agency: BooleanType;
1122
+ readonly trainer: BooleanType;
1123
+ readonly trainee: BooleanType;
1124
+ readonly usual: OptionType<StringType>;
1125
+ }>>;
1126
+ after: DictType<StringType, StructType<{
1127
+ readonly name: StringType;
1128
+ readonly team: StringType;
1129
+ readonly position: StringType;
1130
+ readonly skills: import("@elaraai/east").SetType<StringType>;
1131
+ readonly contract: FloatType;
1132
+ readonly agency: BooleanType;
1133
+ readonly trainer: BooleanType;
1134
+ readonly trainee: BooleanType;
1135
+ readonly usual: OptionType<StringType>;
1136
+ }>>;
1137
+ }>;
1138
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1139
+ delete: StructType<{
1140
+ readonly name: StringType;
1141
+ readonly team: StringType;
1142
+ readonly position: StringType;
1143
+ readonly skills: import("@elaraai/east").SetType<StringType>;
1144
+ readonly contract: FloatType;
1145
+ readonly agency: BooleanType;
1146
+ readonly trainer: BooleanType;
1147
+ readonly trainee: BooleanType;
1148
+ readonly usual: OptionType<StringType>;
1149
+ }>;
1150
+ insert: StructType<{
1151
+ readonly name: StringType;
1152
+ readonly team: StringType;
1153
+ readonly position: StringType;
1154
+ readonly skills: import("@elaraai/east").SetType<StringType>;
1155
+ readonly contract: FloatType;
1156
+ readonly agency: BooleanType;
1157
+ readonly trainer: BooleanType;
1158
+ readonly trainee: BooleanType;
1159
+ readonly usual: OptionType<StringType>;
1160
+ }>;
1161
+ update: import("@elaraai/east").VariantType<{
1162
+ unchanged: NullType;
1163
+ replace: StructType<{
1164
+ before: StructType<{
1165
+ readonly name: StringType;
1166
+ readonly team: StringType;
1167
+ readonly position: StringType;
1168
+ readonly skills: import("@elaraai/east").SetType<StringType>;
1169
+ readonly contract: FloatType;
1170
+ readonly agency: BooleanType;
1171
+ readonly trainer: BooleanType;
1172
+ readonly trainee: BooleanType;
1173
+ readonly usual: OptionType<StringType>;
1174
+ }>;
1175
+ after: StructType<{
1176
+ readonly name: StringType;
1177
+ readonly team: StringType;
1178
+ readonly position: StringType;
1179
+ readonly skills: import("@elaraai/east").SetType<StringType>;
1180
+ readonly contract: FloatType;
1181
+ readonly agency: BooleanType;
1182
+ readonly trainer: BooleanType;
1183
+ readonly trainee: BooleanType;
1184
+ readonly usual: OptionType<StringType>;
1185
+ }>;
1186
+ }>;
1187
+ patch: StructType<{
1188
+ readonly name: import("@elaraai/east").VariantType<{
1189
+ unchanged: NullType;
1190
+ replace: StructType<{
1191
+ before: StringType;
1192
+ after: StringType;
1193
+ }>;
1194
+ }>;
1195
+ readonly team: import("@elaraai/east").VariantType<{
1196
+ unchanged: NullType;
1197
+ replace: StructType<{
1198
+ before: StringType;
1199
+ after: StringType;
1200
+ }>;
1201
+ }>;
1202
+ readonly position: import("@elaraai/east").VariantType<{
1203
+ unchanged: NullType;
1204
+ replace: StructType<{
1205
+ before: StringType;
1206
+ after: StringType;
1207
+ }>;
1208
+ }>;
1209
+ readonly skills: import("@elaraai/east").VariantType<{
1210
+ unchanged: NullType;
1211
+ replace: StructType<{
1212
+ before: import("@elaraai/east").SetType<StringType>;
1213
+ after: import("@elaraai/east").SetType<StringType>;
1214
+ }>;
1215
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1216
+ delete: NullType;
1217
+ insert: NullType;
1218
+ }>>;
1219
+ }>;
1220
+ readonly contract: import("@elaraai/east").VariantType<{
1221
+ unchanged: NullType;
1222
+ replace: StructType<{
1223
+ before: FloatType;
1224
+ after: FloatType;
1225
+ }>;
1226
+ }>;
1227
+ readonly agency: import("@elaraai/east").VariantType<{
1228
+ unchanged: NullType;
1229
+ replace: StructType<{
1230
+ before: BooleanType;
1231
+ after: BooleanType;
1232
+ }>;
1233
+ }>;
1234
+ readonly trainer: import("@elaraai/east").VariantType<{
1235
+ unchanged: NullType;
1236
+ replace: StructType<{
1237
+ before: BooleanType;
1238
+ after: BooleanType;
1239
+ }>;
1240
+ }>;
1241
+ readonly trainee: import("@elaraai/east").VariantType<{
1242
+ unchanged: NullType;
1243
+ replace: StructType<{
1244
+ before: BooleanType;
1245
+ after: BooleanType;
1246
+ }>;
1247
+ }>;
1248
+ readonly usual: import("@elaraai/east").VariantType<{
1249
+ unchanged: NullType;
1250
+ replace: StructType<{
1251
+ before: OptionType<StringType>;
1252
+ after: OptionType<StringType>;
1253
+ }>;
1254
+ patch: import("@elaraai/east").VariantType<{
1255
+ none: import("@elaraai/east").VariantType<{
1256
+ unchanged: NullType;
1257
+ replace: StructType<{
1258
+ before: NullType;
1259
+ after: NullType;
1260
+ }>;
1261
+ }>;
1262
+ some: import("@elaraai/east").VariantType<{
1263
+ unchanged: NullType;
1264
+ replace: StructType<{
1265
+ before: StringType;
1266
+ after: StringType;
1267
+ }>;
1268
+ }>;
1269
+ }>;
1270
+ }>;
1271
+ }>;
1272
+ }>;
1273
+ }>>;
1274
+ }>]>;
1275
+ /** The shift times' patch door: another session's edit of them. */
1276
+ export declare const rosterShiftTimesPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
1277
+ readonly label: StringType;
1278
+ readonly code: StringType;
1279
+ readonly start: StructType<{
1280
+ readonly hour: IntegerType;
1281
+ readonly minute: IntegerType;
1282
+ }>;
1283
+ readonly hours: FloatType;
1284
+ readonly order: IntegerType;
1285
+ }>>, [import("@elaraai/east").VariantType<{
1286
+ unchanged: NullType;
1287
+ replace: StructType<{
1288
+ before: DictType<StringType, StructType<{
1289
+ readonly label: StringType;
1290
+ readonly code: StringType;
1291
+ readonly start: StructType<{
1292
+ readonly hour: IntegerType;
1293
+ readonly minute: IntegerType;
1294
+ }>;
1295
+ readonly hours: FloatType;
1296
+ readonly order: IntegerType;
1297
+ }>>;
1298
+ after: DictType<StringType, StructType<{
1299
+ readonly label: StringType;
1300
+ readonly code: StringType;
1301
+ readonly start: StructType<{
1302
+ readonly hour: IntegerType;
1303
+ readonly minute: IntegerType;
1304
+ }>;
1305
+ readonly hours: FloatType;
1306
+ readonly order: IntegerType;
1307
+ }>>;
1308
+ }>;
1309
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1310
+ delete: StructType<{
1311
+ readonly label: StringType;
1312
+ readonly code: StringType;
1313
+ readonly start: StructType<{
1314
+ readonly hour: IntegerType;
1315
+ readonly minute: IntegerType;
1316
+ }>;
1317
+ readonly hours: FloatType;
1318
+ readonly order: IntegerType;
1319
+ }>;
1320
+ insert: StructType<{
1321
+ readonly label: StringType;
1322
+ readonly code: StringType;
1323
+ readonly start: StructType<{
1324
+ readonly hour: IntegerType;
1325
+ readonly minute: IntegerType;
1326
+ }>;
1327
+ readonly hours: FloatType;
1328
+ readonly order: IntegerType;
1329
+ }>;
1330
+ update: import("@elaraai/east").VariantType<{
1331
+ unchanged: NullType;
1332
+ replace: StructType<{
1333
+ before: StructType<{
1334
+ readonly label: StringType;
1335
+ readonly code: StringType;
1336
+ readonly start: StructType<{
1337
+ readonly hour: IntegerType;
1338
+ readonly minute: IntegerType;
1339
+ }>;
1340
+ readonly hours: FloatType;
1341
+ readonly order: IntegerType;
1342
+ }>;
1343
+ after: StructType<{
1344
+ readonly label: StringType;
1345
+ readonly code: StringType;
1346
+ readonly start: StructType<{
1347
+ readonly hour: IntegerType;
1348
+ readonly minute: IntegerType;
1349
+ }>;
1350
+ readonly hours: FloatType;
1351
+ readonly order: IntegerType;
1352
+ }>;
1353
+ }>;
1354
+ patch: StructType<{
1355
+ readonly label: import("@elaraai/east").VariantType<{
1356
+ unchanged: NullType;
1357
+ replace: StructType<{
1358
+ before: StringType;
1359
+ after: StringType;
1360
+ }>;
1361
+ }>;
1362
+ readonly code: import("@elaraai/east").VariantType<{
1363
+ unchanged: NullType;
1364
+ replace: StructType<{
1365
+ before: StringType;
1366
+ after: StringType;
1367
+ }>;
1368
+ }>;
1369
+ readonly start: import("@elaraai/east").VariantType<{
1370
+ unchanged: NullType;
1371
+ replace: StructType<{
1372
+ before: StructType<{
1373
+ readonly hour: IntegerType;
1374
+ readonly minute: IntegerType;
1375
+ }>;
1376
+ after: StructType<{
1377
+ readonly hour: IntegerType;
1378
+ readonly minute: IntegerType;
1379
+ }>;
1380
+ }>;
1381
+ patch: StructType<{
1382
+ readonly hour: import("@elaraai/east").VariantType<{
1383
+ unchanged: NullType;
1384
+ replace: StructType<{
1385
+ before: IntegerType;
1386
+ after: IntegerType;
1387
+ }>;
1388
+ }>;
1389
+ readonly minute: import("@elaraai/east").VariantType<{
1390
+ unchanged: NullType;
1391
+ replace: StructType<{
1392
+ before: IntegerType;
1393
+ after: IntegerType;
1394
+ }>;
1395
+ }>;
1396
+ }>;
1397
+ }>;
1398
+ readonly hours: import("@elaraai/east").VariantType<{
1399
+ unchanged: NullType;
1400
+ replace: StructType<{
1401
+ before: FloatType;
1402
+ after: FloatType;
1403
+ }>;
1404
+ }>;
1405
+ readonly order: import("@elaraai/east").VariantType<{
1406
+ unchanged: NullType;
1407
+ replace: StructType<{
1408
+ before: IntegerType;
1409
+ after: IntegerType;
1410
+ }>;
1411
+ }>;
1412
+ }>;
1413
+ }>;
1414
+ }>>;
1415
+ }>]>;
1416
+ /** The teams' patch door: another session's edit of them. */
1417
+ export declare const rosterTeamsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
1418
+ readonly label: StringType;
1419
+ readonly order: IntegerType;
1420
+ }>>, [import("@elaraai/east").VariantType<{
1421
+ unchanged: NullType;
1422
+ replace: StructType<{
1423
+ before: DictType<StringType, StructType<{
1424
+ readonly label: StringType;
1425
+ readonly order: IntegerType;
1426
+ }>>;
1427
+ after: DictType<StringType, StructType<{
1428
+ readonly label: StringType;
1429
+ readonly order: IntegerType;
1430
+ }>>;
1431
+ }>;
1432
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1433
+ delete: StructType<{
1434
+ readonly label: StringType;
1435
+ readonly order: IntegerType;
1436
+ }>;
1437
+ insert: StructType<{
1438
+ readonly label: StringType;
1439
+ readonly order: IntegerType;
1440
+ }>;
1441
+ update: import("@elaraai/east").VariantType<{
1442
+ unchanged: NullType;
1443
+ replace: StructType<{
1444
+ before: StructType<{
1445
+ readonly label: StringType;
1446
+ readonly order: IntegerType;
1447
+ }>;
1448
+ after: StructType<{
1449
+ readonly label: StringType;
1450
+ readonly order: IntegerType;
1451
+ }>;
1452
+ }>;
1453
+ patch: StructType<{
1454
+ readonly label: import("@elaraai/east").VariantType<{
1455
+ unchanged: NullType;
1456
+ replace: StructType<{
1457
+ before: StringType;
1458
+ after: StringType;
1459
+ }>;
1460
+ }>;
1461
+ readonly order: import("@elaraai/east").VariantType<{
1462
+ unchanged: NullType;
1463
+ replace: StructType<{
1464
+ before: IntegerType;
1465
+ after: IntegerType;
1466
+ }>;
1467
+ }>;
1468
+ }>;
1469
+ }>;
1470
+ }>>;
1471
+ }>]>;
1472
+ /** The positions' patch door: another session's edit of them. */
1473
+ export declare const rosterPositionsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
1474
+ readonly label: StringType;
1475
+ readonly code: StringType;
1476
+ readonly lead: BooleanType;
1477
+ readonly order: IntegerType;
1478
+ }>>, [import("@elaraai/east").VariantType<{
1479
+ unchanged: NullType;
1480
+ replace: StructType<{
1481
+ before: DictType<StringType, StructType<{
1482
+ readonly label: StringType;
1483
+ readonly code: StringType;
1484
+ readonly lead: BooleanType;
1485
+ readonly order: IntegerType;
1486
+ }>>;
1487
+ after: DictType<StringType, StructType<{
1488
+ readonly label: StringType;
1489
+ readonly code: StringType;
1490
+ readonly lead: BooleanType;
1491
+ readonly order: IntegerType;
1492
+ }>>;
1493
+ }>;
1494
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1495
+ delete: StructType<{
1496
+ readonly label: StringType;
1497
+ readonly code: StringType;
1498
+ readonly lead: BooleanType;
1499
+ readonly order: IntegerType;
1500
+ }>;
1501
+ insert: StructType<{
1502
+ readonly label: StringType;
1503
+ readonly code: StringType;
1504
+ readonly lead: BooleanType;
1505
+ readonly order: IntegerType;
1506
+ }>;
1507
+ update: import("@elaraai/east").VariantType<{
1508
+ unchanged: NullType;
1509
+ replace: StructType<{
1510
+ before: StructType<{
1511
+ readonly label: StringType;
1512
+ readonly code: StringType;
1513
+ readonly lead: BooleanType;
1514
+ readonly order: IntegerType;
1515
+ }>;
1516
+ after: StructType<{
1517
+ readonly label: StringType;
1518
+ readonly code: StringType;
1519
+ readonly lead: BooleanType;
1520
+ readonly order: IntegerType;
1521
+ }>;
1522
+ }>;
1523
+ patch: StructType<{
1524
+ readonly label: import("@elaraai/east").VariantType<{
1525
+ unchanged: NullType;
1526
+ replace: StructType<{
1527
+ before: StringType;
1528
+ after: StringType;
1529
+ }>;
1530
+ }>;
1531
+ readonly code: import("@elaraai/east").VariantType<{
1532
+ unchanged: NullType;
1533
+ replace: StructType<{
1534
+ before: StringType;
1535
+ after: StringType;
1536
+ }>;
1537
+ }>;
1538
+ readonly lead: import("@elaraai/east").VariantType<{
1539
+ unchanged: NullType;
1540
+ replace: StructType<{
1541
+ before: BooleanType;
1542
+ after: BooleanType;
1543
+ }>;
1544
+ }>;
1545
+ readonly order: import("@elaraai/east").VariantType<{
1546
+ unchanged: NullType;
1547
+ replace: StructType<{
1548
+ before: IntegerType;
1549
+ after: IntegerType;
1550
+ }>;
1551
+ }>;
1552
+ }>;
1553
+ }>;
1554
+ }>>;
1555
+ }>]>;
1556
+ /** The suggestions' patch door: another session's edit of them. */
1557
+ export declare const rosterSuggestionsPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
1558
+ readonly person: StringType;
1559
+ readonly day: DateTimeType;
1560
+ readonly team: StringType;
1561
+ readonly shift: StringType;
1562
+ readonly why: StringType;
1563
+ }>>, [import("@elaraai/east").VariantType<{
1564
+ unchanged: NullType;
1565
+ replace: StructType<{
1566
+ before: DictType<StringType, StructType<{
1567
+ readonly person: StringType;
1568
+ readonly day: DateTimeType;
1569
+ readonly team: StringType;
1570
+ readonly shift: StringType;
1571
+ readonly why: StringType;
1572
+ }>>;
1573
+ after: DictType<StringType, StructType<{
1574
+ readonly person: StringType;
1575
+ readonly day: DateTimeType;
1576
+ readonly team: StringType;
1577
+ readonly shift: StringType;
1578
+ readonly why: StringType;
1579
+ }>>;
1580
+ }>;
1581
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1582
+ delete: StructType<{
1583
+ readonly person: StringType;
1584
+ readonly day: DateTimeType;
1585
+ readonly team: StringType;
1586
+ readonly shift: StringType;
1587
+ readonly why: StringType;
1588
+ }>;
1589
+ insert: StructType<{
1590
+ readonly person: StringType;
1591
+ readonly day: DateTimeType;
1592
+ readonly team: StringType;
1593
+ readonly shift: StringType;
1594
+ readonly why: StringType;
1595
+ }>;
1596
+ update: import("@elaraai/east").VariantType<{
1597
+ unchanged: NullType;
1598
+ replace: StructType<{
1599
+ before: StructType<{
1600
+ readonly person: StringType;
1601
+ readonly day: DateTimeType;
1602
+ readonly team: StringType;
1603
+ readonly shift: StringType;
1604
+ readonly why: StringType;
1605
+ }>;
1606
+ after: StructType<{
1607
+ readonly person: StringType;
1608
+ readonly day: DateTimeType;
1609
+ readonly team: StringType;
1610
+ readonly shift: StringType;
1611
+ readonly why: StringType;
1612
+ }>;
1613
+ }>;
1614
+ patch: StructType<{
1615
+ readonly person: import("@elaraai/east").VariantType<{
1616
+ unchanged: NullType;
1617
+ replace: StructType<{
1618
+ before: StringType;
1619
+ after: StringType;
1620
+ }>;
1621
+ }>;
1622
+ readonly day: import("@elaraai/east").VariantType<{
1623
+ unchanged: NullType;
1624
+ replace: StructType<{
1625
+ before: DateTimeType;
1626
+ after: DateTimeType;
1627
+ }>;
1628
+ }>;
1629
+ readonly team: import("@elaraai/east").VariantType<{
1630
+ unchanged: NullType;
1631
+ replace: StructType<{
1632
+ before: StringType;
1633
+ after: StringType;
1634
+ }>;
1635
+ }>;
1636
+ readonly shift: import("@elaraai/east").VariantType<{
1637
+ unchanged: NullType;
1638
+ replace: StructType<{
1639
+ before: StringType;
1640
+ after: StringType;
1641
+ }>;
1642
+ }>;
1643
+ readonly why: import("@elaraai/east").VariantType<{
1644
+ unchanged: NullType;
1645
+ replace: StructType<{
1646
+ before: StringType;
1647
+ after: StringType;
1648
+ }>;
1649
+ }>;
1650
+ }>;
1651
+ }>;
1652
+ }>>;
1653
+ }>]>;
1654
+ /** The duties of a roster the warehouse has locked: the warehouse's own duties, which no Save changes. */
1655
+ export declare const rosterLockedDuties: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
1656
+ readonly who: import("@elaraai/east").VariantType<{
1657
+ readonly staff: StringType;
1658
+ readonly agency: StringType;
1659
+ }>;
1660
+ readonly start: DateTimeType;
1661
+ readonly end: DateTimeType;
1662
+ readonly shift: StringType;
1663
+ readonly team: StringType;
1664
+ readonly role: StringType;
1665
+ readonly task: OptionType<StringType>;
1666
+ readonly unpaidBreak: FloatType;
1667
+ readonly agreed: OptionType<BooleanType>;
1668
+ readonly costCentre: StringType;
1669
+ readonly note: StringType;
1670
+ }>>, [variant<"field", "records">, variant<"field", "roster_locked_duties">]>;
1671
+ /** The locked duties by their times: what a roster over them reads a week of them through. */
1672
+ export declare const rosterLockedDutiesByTime: import("@elaraai/e3").RecordIndexDef<"roster_locked_duties_by_time", DictType<StringType, StructType<{
1673
+ readonly who: import("@elaraai/east").VariantType<{
1674
+ readonly staff: StringType;
1675
+ readonly agency: StringType;
1676
+ }>;
1677
+ readonly start: DateTimeType;
1678
+ readonly end: DateTimeType;
1679
+ readonly shift: StringType;
1680
+ readonly team: StringType;
1681
+ readonly role: StringType;
1682
+ readonly task: OptionType<StringType>;
1683
+ readonly unpaidBreak: FloatType;
1684
+ readonly agreed: OptionType<BooleanType>;
1685
+ readonly costCentre: StringType;
1686
+ readonly note: StringType;
1687
+ }>>, StructType<Record<never, never> & {
1688
+ __interval: IntegerType;
1689
+ } & {
1690
+ start: DateTimeType;
1691
+ }>, NullType, readonly ["start"]> & {
1692
+ interval: {
1693
+ readonly from: "start";
1694
+ readonly to: "end";
1695
+ };
1696
+ };
1697
+ /** The locked roster's door, a checked one: it refuses every change, naming why — what a Save over it is answered. */
1698
+ export declare const rosterLockedDutiesPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
1699
+ readonly who: import("@elaraai/east").VariantType<{
1700
+ readonly staff: StringType;
1701
+ readonly agency: StringType;
1702
+ }>;
1703
+ readonly start: DateTimeType;
1704
+ readonly end: DateTimeType;
1705
+ readonly shift: StringType;
1706
+ readonly team: StringType;
1707
+ readonly role: StringType;
1708
+ readonly task: OptionType<StringType>;
1709
+ readonly unpaidBreak: FloatType;
1710
+ readonly agreed: OptionType<BooleanType>;
1711
+ readonly costCentre: StringType;
1712
+ readonly note: StringType;
1713
+ }>>, [import("@elaraai/east").VariantType<{
1714
+ unchanged: NullType;
1715
+ replace: StructType<{
1716
+ before: DictType<StringType, StructType<{
1717
+ readonly who: import("@elaraai/east").VariantType<{
1718
+ readonly staff: StringType;
1719
+ readonly agency: StringType;
1720
+ }>;
1721
+ readonly start: DateTimeType;
1722
+ readonly end: DateTimeType;
1723
+ readonly shift: StringType;
1724
+ readonly team: StringType;
1725
+ readonly role: StringType;
1726
+ readonly task: OptionType<StringType>;
1727
+ readonly unpaidBreak: FloatType;
1728
+ readonly agreed: OptionType<BooleanType>;
1729
+ readonly costCentre: StringType;
1730
+ readonly note: StringType;
1731
+ }>>;
1732
+ after: DictType<StringType, StructType<{
1733
+ readonly who: import("@elaraai/east").VariantType<{
1734
+ readonly staff: StringType;
1735
+ readonly agency: StringType;
1736
+ }>;
1737
+ readonly start: DateTimeType;
1738
+ readonly end: DateTimeType;
1739
+ readonly shift: StringType;
1740
+ readonly team: StringType;
1741
+ readonly role: StringType;
1742
+ readonly task: OptionType<StringType>;
1743
+ readonly unpaidBreak: FloatType;
1744
+ readonly agreed: OptionType<BooleanType>;
1745
+ readonly costCentre: StringType;
1746
+ readonly note: StringType;
1747
+ }>>;
1748
+ }>;
1749
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
1750
+ delete: StructType<{
1751
+ readonly who: import("@elaraai/east").VariantType<{
1752
+ readonly staff: StringType;
1753
+ readonly agency: StringType;
1754
+ }>;
1755
+ readonly start: DateTimeType;
1756
+ readonly end: DateTimeType;
1757
+ readonly shift: StringType;
1758
+ readonly team: StringType;
1759
+ readonly role: StringType;
1760
+ readonly task: OptionType<StringType>;
1761
+ readonly unpaidBreak: FloatType;
1762
+ readonly agreed: OptionType<BooleanType>;
1763
+ readonly costCentre: StringType;
1764
+ readonly note: StringType;
1765
+ }>;
1766
+ insert: StructType<{
1767
+ readonly who: import("@elaraai/east").VariantType<{
1768
+ readonly staff: StringType;
1769
+ readonly agency: StringType;
1770
+ }>;
1771
+ readonly start: DateTimeType;
1772
+ readonly end: DateTimeType;
1773
+ readonly shift: StringType;
1774
+ readonly team: StringType;
1775
+ readonly role: StringType;
1776
+ readonly task: OptionType<StringType>;
1777
+ readonly unpaidBreak: FloatType;
1778
+ readonly agreed: OptionType<BooleanType>;
1779
+ readonly costCentre: StringType;
1780
+ readonly note: StringType;
1781
+ }>;
1782
+ update: import("@elaraai/east").VariantType<{
1783
+ unchanged: NullType;
1784
+ replace: StructType<{
1785
+ before: StructType<{
1786
+ readonly who: import("@elaraai/east").VariantType<{
1787
+ readonly staff: StringType;
1788
+ readonly agency: StringType;
1789
+ }>;
1790
+ readonly start: DateTimeType;
1791
+ readonly end: DateTimeType;
1792
+ readonly shift: StringType;
1793
+ readonly team: StringType;
1794
+ readonly role: StringType;
1795
+ readonly task: OptionType<StringType>;
1796
+ readonly unpaidBreak: FloatType;
1797
+ readonly agreed: OptionType<BooleanType>;
1798
+ readonly costCentre: StringType;
1799
+ readonly note: StringType;
1800
+ }>;
1801
+ after: StructType<{
1802
+ readonly who: import("@elaraai/east").VariantType<{
1803
+ readonly staff: StringType;
1804
+ readonly agency: StringType;
1805
+ }>;
1806
+ readonly start: DateTimeType;
1807
+ readonly end: DateTimeType;
1808
+ readonly shift: StringType;
1809
+ readonly team: StringType;
1810
+ readonly role: StringType;
1811
+ readonly task: OptionType<StringType>;
1812
+ readonly unpaidBreak: FloatType;
1813
+ readonly agreed: OptionType<BooleanType>;
1814
+ readonly costCentre: StringType;
1815
+ readonly note: StringType;
1816
+ }>;
1817
+ }>;
1818
+ patch: StructType<{
1819
+ readonly who: import("@elaraai/east").VariantType<{
1820
+ unchanged: NullType;
1821
+ replace: StructType<{
1822
+ before: import("@elaraai/east").VariantType<{
1823
+ readonly staff: StringType;
1824
+ readonly agency: StringType;
1825
+ }>;
1826
+ after: import("@elaraai/east").VariantType<{
1827
+ readonly staff: StringType;
1828
+ readonly agency: StringType;
1829
+ }>;
1830
+ }>;
1831
+ patch: import("@elaraai/east").VariantType<{
1832
+ readonly staff: import("@elaraai/east").VariantType<{
1833
+ unchanged: NullType;
1834
+ replace: StructType<{
1835
+ before: StringType;
1836
+ after: StringType;
1837
+ }>;
1838
+ }>;
1839
+ readonly agency: import("@elaraai/east").VariantType<{
1840
+ unchanged: NullType;
1841
+ replace: StructType<{
1842
+ before: StringType;
1843
+ after: StringType;
1844
+ }>;
1845
+ }>;
1846
+ }>;
1847
+ }>;
1848
+ readonly start: import("@elaraai/east").VariantType<{
1849
+ unchanged: NullType;
1850
+ replace: StructType<{
1851
+ before: DateTimeType;
1852
+ after: DateTimeType;
1853
+ }>;
1854
+ }>;
1855
+ readonly end: import("@elaraai/east").VariantType<{
1856
+ unchanged: NullType;
1857
+ replace: StructType<{
1858
+ before: DateTimeType;
1859
+ after: DateTimeType;
1860
+ }>;
1861
+ }>;
1862
+ readonly shift: import("@elaraai/east").VariantType<{
1863
+ unchanged: NullType;
1864
+ replace: StructType<{
1865
+ before: StringType;
1866
+ after: StringType;
1867
+ }>;
1868
+ }>;
1869
+ readonly team: import("@elaraai/east").VariantType<{
1870
+ unchanged: NullType;
1871
+ replace: StructType<{
1872
+ before: StringType;
1873
+ after: StringType;
1874
+ }>;
1875
+ }>;
1876
+ readonly role: import("@elaraai/east").VariantType<{
1877
+ unchanged: NullType;
1878
+ replace: StructType<{
1879
+ before: StringType;
1880
+ after: StringType;
1881
+ }>;
1882
+ }>;
1883
+ readonly task: import("@elaraai/east").VariantType<{
1884
+ unchanged: NullType;
1885
+ replace: StructType<{
1886
+ before: OptionType<StringType>;
1887
+ after: OptionType<StringType>;
1888
+ }>;
1889
+ patch: import("@elaraai/east").VariantType<{
1890
+ none: import("@elaraai/east").VariantType<{
1891
+ unchanged: NullType;
1892
+ replace: StructType<{
1893
+ before: NullType;
1894
+ after: NullType;
1895
+ }>;
1896
+ }>;
1897
+ some: import("@elaraai/east").VariantType<{
1898
+ unchanged: NullType;
1899
+ replace: StructType<{
1900
+ before: StringType;
1901
+ after: StringType;
1902
+ }>;
1903
+ }>;
1904
+ }>;
1905
+ }>;
1906
+ readonly unpaidBreak: import("@elaraai/east").VariantType<{
1907
+ unchanged: NullType;
1908
+ replace: StructType<{
1909
+ before: FloatType;
1910
+ after: FloatType;
1911
+ }>;
1912
+ }>;
1913
+ readonly agreed: import("@elaraai/east").VariantType<{
1914
+ unchanged: NullType;
1915
+ replace: StructType<{
1916
+ before: OptionType<BooleanType>;
1917
+ after: OptionType<BooleanType>;
1918
+ }>;
1919
+ patch: import("@elaraai/east").VariantType<{
1920
+ none: import("@elaraai/east").VariantType<{
1921
+ unchanged: NullType;
1922
+ replace: StructType<{
1923
+ before: NullType;
1924
+ after: NullType;
1925
+ }>;
1926
+ }>;
1927
+ some: import("@elaraai/east").VariantType<{
1928
+ unchanged: NullType;
1929
+ replace: StructType<{
1930
+ before: BooleanType;
1931
+ after: BooleanType;
1932
+ }>;
1933
+ }>;
1934
+ }>;
1935
+ }>;
1936
+ readonly costCentre: import("@elaraai/east").VariantType<{
1937
+ unchanged: NullType;
1938
+ replace: StructType<{
1939
+ before: StringType;
1940
+ after: StringType;
1941
+ }>;
1942
+ }>;
1943
+ readonly note: import("@elaraai/east").VariantType<{
1944
+ unchanged: NullType;
1945
+ replace: StructType<{
1946
+ before: StringType;
1947
+ after: StringType;
1948
+ }>;
1949
+ }>;
1950
+ }>;
1951
+ }>;
1952
+ }>>;
1953
+ }>]>;
1954
+ /**
1955
+ * Another app's fit over the same staff: the warehouse's order — the most spare contract hours first, whatever
1956
+ * their group — and a warning on whoever the slot's shift would take past their contract.
1957
+ */
1958
+ export declare const rosterContractFitBody: import("@elaraai/east").CallableFunctionExpr<[StructType<{
1959
+ readonly need: import("@elaraai/east").VariantType<{
1960
+ readonly leads: NullType;
1961
+ readonly trainers: NullType;
1962
+ readonly skill: StringType;
1963
+ }>;
1964
+ readonly slot: StructType<{
1965
+ readonly day: IntegerType;
1966
+ readonly group: StringType;
1967
+ readonly shift: StringType;
1968
+ }>;
1969
+ readonly start: DateTimeType;
1970
+ readonly week: StructType<{
1971
+ readonly status: import("@elaraai/east").VariantType<{
1972
+ readonly draft: NullType;
1973
+ readonly published: StructType<{
1974
+ readonly at: OptionType<DateTimeType>;
1975
+ }>;
1976
+ readonly other: StringType;
1977
+ }>;
1978
+ readonly assignments: DictType<StringType, StructType<{
1979
+ readonly slot: StructType<{
1980
+ readonly day: IntegerType;
1981
+ readonly group: StringType;
1982
+ readonly shift: StringType;
1983
+ }>;
1984
+ readonly who: import("@elaraai/east").VariantType<{
1985
+ readonly person: StringType;
1986
+ readonly request: StringType;
1987
+ }>;
1988
+ readonly position: StringType;
1989
+ readonly activity: OptionType<StringType>;
1990
+ readonly start: DateTimeType;
1991
+ readonly end: DateTimeType;
1992
+ readonly hours: FloatType;
1993
+ readonly row: StructType<{
1994
+ readonly who: import("@elaraai/east").VariantType<{
1995
+ readonly staff: StringType;
1996
+ readonly agency: StringType;
1997
+ }>;
1998
+ readonly start: DateTimeType;
1999
+ readonly end: DateTimeType;
2000
+ readonly shift: StringType;
2001
+ readonly team: StringType;
2002
+ readonly role: StringType;
2003
+ readonly task: OptionType<StringType>;
2004
+ readonly unpaidBreak: FloatType;
2005
+ readonly agreed: OptionType<BooleanType>;
2006
+ readonly costCentre: StringType;
2007
+ readonly note: StringType;
2008
+ }>;
2009
+ }>>;
2010
+ readonly requirements: DictType<StructType<{
2011
+ readonly day: IntegerType;
2012
+ readonly group: StringType;
2013
+ readonly shift: StringType;
2014
+ }>, StructType<{
2015
+ readonly positions: IntegerType;
2016
+ readonly hours: DictType<StringType, FloatType>;
2017
+ }>>;
2018
+ readonly dismissed: import("@elaraai/east").SetType<StringType>;
2019
+ }>;
2020
+ readonly context: StructType<{
2021
+ readonly people: DictType<StringType, StructType<{
2022
+ readonly key: StringType;
2023
+ readonly name: StringType;
2024
+ readonly group: StringType;
2025
+ readonly position: StringType;
2026
+ readonly skills: import("@elaraai/east").SetType<StringType>;
2027
+ readonly contract: FloatType;
2028
+ readonly agency: BooleanType;
2029
+ readonly trainer: BooleanType;
2030
+ readonly trainee: BooleanType;
2031
+ readonly usual: OptionType<StringType>;
2032
+ }>>;
2033
+ readonly groups: ArrayType<StructType<{
2034
+ readonly key: StringType;
2035
+ readonly label: StringType;
2036
+ }>>;
2037
+ readonly activities: ArrayType<StructType<{
2038
+ readonly key: StringType;
2039
+ readonly label: StringType;
2040
+ readonly code: StringType;
2041
+ readonly group: OptionType<StringType>;
2042
+ }>>;
2043
+ readonly shifts: ArrayType<StructType<{
2044
+ readonly key: StringType;
2045
+ readonly label: StringType;
2046
+ readonly code: StringType;
2047
+ readonly start: StructType<{
2048
+ readonly hour: IntegerType;
2049
+ readonly minute: IntegerType;
2050
+ }>;
2051
+ readonly hours: FloatType;
2052
+ }>>;
2053
+ readonly positions: ArrayType<StructType<{
2054
+ readonly key: StringType;
2055
+ readonly label: StringType;
2056
+ readonly code: StringType;
2057
+ readonly lead: BooleanType;
2058
+ }>>;
2059
+ readonly agencies: ArrayType<StructType<{
2060
+ readonly key: StringType;
2061
+ readonly name: StringType;
2062
+ }>>;
2063
+ readonly rules: StructType<{
2064
+ readonly rest: FloatType;
2065
+ readonly lead: BooleanType;
2066
+ readonly trainer: BooleanType;
2067
+ readonly skill: BooleanType;
2068
+ }>;
2069
+ }>;
2070
+ readonly coverage: DictType<StructType<{
2071
+ readonly day: IntegerType;
2072
+ readonly group: StringType;
2073
+ readonly shift: StringType;
2074
+ }>, StructType<{
2075
+ readonly positions: IntegerType;
2076
+ readonly filled: IntegerType;
2077
+ readonly open: IntegerType;
2078
+ readonly people: IntegerType;
2079
+ readonly hours: StructType<{
2080
+ readonly permanent: FloatType;
2081
+ readonly agency: FloatType;
2082
+ readonly requested: FloatType;
2083
+ readonly needed: FloatType;
2084
+ readonly rostered: FloatType;
2085
+ }>;
2086
+ readonly lines: ArrayType<StructType<{
2087
+ readonly skill: StringType;
2088
+ readonly needed: FloatType;
2089
+ readonly holders: OptionType<IntegerType>;
2090
+ readonly capacity: OptionType<FloatType>;
2091
+ readonly gap: FloatType;
2092
+ readonly assigned: FloatType;
2093
+ }>>;
2094
+ readonly cost: FloatType;
2095
+ readonly lead: BooleanType;
2096
+ readonly trainer: BooleanType;
2097
+ }>>;
2098
+ }>], StructType<{
2099
+ readonly need: import("@elaraai/east").VariantType<{
2100
+ readonly leads: NullType;
2101
+ readonly trainers: NullType;
2102
+ readonly skill: StringType;
2103
+ }>;
2104
+ readonly slot: StructType<{
2105
+ readonly day: IntegerType;
2106
+ readonly group: StringType;
2107
+ readonly shift: StringType;
2108
+ }>;
2109
+ readonly people: DictType<StringType, import("@elaraai/east").VariantType<{
2110
+ readonly fits: StructType<{
2111
+ readonly score: FloatType;
2112
+ readonly why: StringType;
2113
+ readonly warn: OptionType<StringType>;
2114
+ }>;
2115
+ readonly refused: StructType<{
2116
+ readonly group: StringType;
2117
+ readonly reason: StringType;
2118
+ readonly measure: import("@elaraai/east").VariantType<{
2119
+ readonly none: NullType;
2120
+ readonly amount: StructType<{
2121
+ readonly lead: StringType;
2122
+ readonly value: FloatType;
2123
+ }>;
2124
+ readonly day: StructType<{
2125
+ readonly lead: StringType;
2126
+ readonly at: DateTimeType;
2127
+ }>;
2128
+ }>;
2129
+ }>;
2130
+ }>>;
2131
+ }>>;
2132
+ export declare const rosterContractFit: import("@elaraai/e3").FunctionDef<[StructType<{
2133
+ readonly need: import("@elaraai/east").VariantType<{
2134
+ readonly leads: NullType;
2135
+ readonly trainers: NullType;
2136
+ readonly skill: StringType;
2137
+ }>;
2138
+ readonly slot: StructType<{
2139
+ readonly day: IntegerType;
2140
+ readonly group: StringType;
2141
+ readonly shift: StringType;
2142
+ }>;
2143
+ readonly start: DateTimeType;
2144
+ readonly week: StructType<{
2145
+ readonly status: import("@elaraai/east").VariantType<{
2146
+ readonly draft: NullType;
2147
+ readonly published: StructType<{
2148
+ readonly at: OptionType<DateTimeType>;
2149
+ }>;
2150
+ readonly other: StringType;
2151
+ }>;
2152
+ readonly assignments: DictType<StringType, StructType<{
2153
+ readonly slot: StructType<{
2154
+ readonly day: IntegerType;
2155
+ readonly group: StringType;
2156
+ readonly shift: StringType;
2157
+ }>;
2158
+ readonly who: import("@elaraai/east").VariantType<{
2159
+ readonly person: StringType;
2160
+ readonly request: StringType;
2161
+ }>;
2162
+ readonly position: StringType;
2163
+ readonly activity: OptionType<StringType>;
2164
+ readonly start: DateTimeType;
2165
+ readonly end: DateTimeType;
2166
+ readonly hours: FloatType;
2167
+ readonly row: StructType<{
2168
+ readonly who: import("@elaraai/east").VariantType<{
2169
+ readonly staff: StringType;
2170
+ readonly agency: StringType;
2171
+ }>;
2172
+ readonly start: DateTimeType;
2173
+ readonly end: DateTimeType;
2174
+ readonly shift: StringType;
2175
+ readonly team: StringType;
2176
+ readonly role: StringType;
2177
+ readonly task: OptionType<StringType>;
2178
+ readonly unpaidBreak: FloatType;
2179
+ readonly agreed: OptionType<BooleanType>;
2180
+ readonly costCentre: StringType;
2181
+ readonly note: StringType;
2182
+ }>;
2183
+ }>>;
2184
+ readonly requirements: DictType<StructType<{
2185
+ readonly day: IntegerType;
2186
+ readonly group: StringType;
2187
+ readonly shift: StringType;
2188
+ }>, StructType<{
2189
+ readonly positions: IntegerType;
2190
+ readonly hours: DictType<StringType, FloatType>;
2191
+ }>>;
2192
+ readonly dismissed: import("@elaraai/east").SetType<StringType>;
2193
+ }>;
2194
+ readonly context: StructType<{
2195
+ readonly people: DictType<StringType, StructType<{
2196
+ readonly key: StringType;
2197
+ readonly name: StringType;
2198
+ readonly group: StringType;
2199
+ readonly position: StringType;
2200
+ readonly skills: import("@elaraai/east").SetType<StringType>;
2201
+ readonly contract: FloatType;
2202
+ readonly agency: BooleanType;
2203
+ readonly trainer: BooleanType;
2204
+ readonly trainee: BooleanType;
2205
+ readonly usual: OptionType<StringType>;
2206
+ }>>;
2207
+ readonly groups: ArrayType<StructType<{
2208
+ readonly key: StringType;
2209
+ readonly label: StringType;
2210
+ }>>;
2211
+ readonly activities: ArrayType<StructType<{
2212
+ readonly key: StringType;
2213
+ readonly label: StringType;
2214
+ readonly code: StringType;
2215
+ readonly group: OptionType<StringType>;
2216
+ }>>;
2217
+ readonly shifts: ArrayType<StructType<{
2218
+ readonly key: StringType;
2219
+ readonly label: StringType;
2220
+ readonly code: StringType;
2221
+ readonly start: StructType<{
2222
+ readonly hour: IntegerType;
2223
+ readonly minute: IntegerType;
2224
+ }>;
2225
+ readonly hours: FloatType;
2226
+ }>>;
2227
+ readonly positions: ArrayType<StructType<{
2228
+ readonly key: StringType;
2229
+ readonly label: StringType;
2230
+ readonly code: StringType;
2231
+ readonly lead: BooleanType;
2232
+ }>>;
2233
+ readonly agencies: ArrayType<StructType<{
2234
+ readonly key: StringType;
2235
+ readonly name: StringType;
2236
+ }>>;
2237
+ readonly rules: StructType<{
2238
+ readonly rest: FloatType;
2239
+ readonly lead: BooleanType;
2240
+ readonly trainer: BooleanType;
2241
+ readonly skill: BooleanType;
2242
+ }>;
2243
+ }>;
2244
+ readonly coverage: DictType<StructType<{
2245
+ readonly day: IntegerType;
2246
+ readonly group: StringType;
2247
+ readonly shift: StringType;
2248
+ }>, StructType<{
2249
+ readonly positions: IntegerType;
2250
+ readonly filled: IntegerType;
2251
+ readonly open: IntegerType;
2252
+ readonly people: IntegerType;
2253
+ readonly hours: StructType<{
2254
+ readonly permanent: FloatType;
2255
+ readonly agency: FloatType;
2256
+ readonly requested: FloatType;
2257
+ readonly needed: FloatType;
2258
+ readonly rostered: FloatType;
2259
+ }>;
2260
+ readonly lines: ArrayType<StructType<{
2261
+ readonly skill: StringType;
2262
+ readonly needed: FloatType;
2263
+ readonly holders: OptionType<IntegerType>;
2264
+ readonly capacity: OptionType<FloatType>;
2265
+ readonly gap: FloatType;
2266
+ readonly assigned: FloatType;
2267
+ }>>;
2268
+ readonly cost: FloatType;
2269
+ readonly lead: BooleanType;
2270
+ readonly trainer: BooleanType;
2271
+ }>>;
2272
+ }>], StructType<{
2273
+ readonly need: import("@elaraai/east").VariantType<{
2274
+ readonly leads: NullType;
2275
+ readonly trainers: NullType;
2276
+ readonly skill: StringType;
2277
+ }>;
2278
+ readonly slot: StructType<{
2279
+ readonly day: IntegerType;
2280
+ readonly group: StringType;
2281
+ readonly shift: StringType;
2282
+ }>;
2283
+ readonly people: DictType<StringType, import("@elaraai/east").VariantType<{
2284
+ readonly fits: StructType<{
2285
+ readonly score: FloatType;
2286
+ readonly why: StringType;
2287
+ readonly warn: OptionType<StringType>;
2288
+ }>;
2289
+ readonly refused: StructType<{
2290
+ readonly group: StringType;
2291
+ readonly reason: StringType;
2292
+ readonly measure: import("@elaraai/east").VariantType<{
2293
+ readonly none: NullType;
2294
+ readonly amount: StructType<{
2295
+ readonly lead: StringType;
2296
+ readonly value: FloatType;
2297
+ }>;
2298
+ readonly day: StructType<{
2299
+ readonly lead: StringType;
2300
+ readonly at: DateTimeType;
2301
+ }>;
2302
+ }>;
2303
+ }>;
2304
+ }>>;
2305
+ }>>;
2306
+ export declare const rosterWarehouse: import("@elaraai/east").ExampleDef<[], any>;
2307
+ export declare const rosterMobile: import("@elaraai/east").ExampleDef<[], any>;
2308
+ export declare const rosterPeople: import("@elaraai/east").ExampleDef<[], any>;
2309
+ export declare const rosterWeek: import("@elaraai/east").ExampleDef<[], any>;
2310
+ export declare const rosterWindowed: import("@elaraai/east").ExampleDef<[], any>;
2311
+ /** A duty of the smallest roster: who, as a staff key; when, as worked; its shift and its team. */
2312
+ export declare const MinimalDuty: StructType<{
2313
+ readonly person: StringType;
2314
+ readonly start: DateTimeType;
2315
+ readonly end: DateTimeType;
2316
+ readonly shift: StringType;
2317
+ readonly team: StringType;
2318
+ }>;
2319
+ /** One of its staff: a name and a team. */
2320
+ export declare const MinimalWorker: StructType<{
2321
+ readonly name: StringType;
2322
+ readonly team: StringType;
2323
+ }>;
2324
+ /** One of its shifts: a name, a code, when it starts, its hours and where it shows. */
2325
+ export declare const MinimalShiftTime: StructType<{
2326
+ readonly name: StringType;
2327
+ readonly code: StringType;
2328
+ readonly starts: StructType<{
2329
+ readonly hour: IntegerType;
2330
+ readonly minute: IntegerType;
2331
+ }>;
2332
+ readonly hours: FloatType;
2333
+ readonly order: IntegerType;
2334
+ }>;
2335
+ /** One of its teams: a name. */
2336
+ export declare const MinimalTeam: StructType<{
2337
+ readonly name: StringType;
2338
+ }>;
2339
+ export declare const minimalDuties: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
2340
+ readonly person: StringType;
2341
+ readonly start: DateTimeType;
2342
+ readonly end: DateTimeType;
2343
+ readonly shift: StringType;
2344
+ readonly team: StringType;
2345
+ }>>, [variant<"field", "records">, variant<"field", "rota_minimal_duties">]>;
2346
+ export declare const minimalDutiesPatch: import("@elaraai/e3").MutationDef<"patch", DictType<StringType, StructType<{
2347
+ readonly person: StringType;
2348
+ readonly start: DateTimeType;
2349
+ readonly end: DateTimeType;
2350
+ readonly shift: StringType;
2351
+ readonly team: StringType;
2352
+ }>>, [import("@elaraai/east").VariantType<{
2353
+ unchanged: NullType;
2354
+ replace: StructType<{
2355
+ before: DictType<StringType, StructType<{
2356
+ readonly person: StringType;
2357
+ readonly start: DateTimeType;
2358
+ readonly end: DateTimeType;
2359
+ readonly shift: StringType;
2360
+ readonly team: StringType;
2361
+ }>>;
2362
+ after: DictType<StringType, StructType<{
2363
+ readonly person: StringType;
2364
+ readonly start: DateTimeType;
2365
+ readonly end: DateTimeType;
2366
+ readonly shift: StringType;
2367
+ readonly team: StringType;
2368
+ }>>;
2369
+ }>;
2370
+ patch: DictType<StringType, import("@elaraai/east").VariantType<{
2371
+ delete: StructType<{
2372
+ readonly person: StringType;
2373
+ readonly start: DateTimeType;
2374
+ readonly end: DateTimeType;
2375
+ readonly shift: StringType;
2376
+ readonly team: StringType;
2377
+ }>;
2378
+ insert: StructType<{
2379
+ readonly person: StringType;
2380
+ readonly start: DateTimeType;
2381
+ readonly end: DateTimeType;
2382
+ readonly shift: StringType;
2383
+ readonly team: StringType;
2384
+ }>;
2385
+ update: import("@elaraai/east").VariantType<{
2386
+ unchanged: NullType;
2387
+ replace: StructType<{
2388
+ before: StructType<{
2389
+ readonly person: StringType;
2390
+ readonly start: DateTimeType;
2391
+ readonly end: DateTimeType;
2392
+ readonly shift: StringType;
2393
+ readonly team: StringType;
2394
+ }>;
2395
+ after: StructType<{
2396
+ readonly person: StringType;
2397
+ readonly start: DateTimeType;
2398
+ readonly end: DateTimeType;
2399
+ readonly shift: StringType;
2400
+ readonly team: StringType;
2401
+ }>;
2402
+ }>;
2403
+ patch: StructType<{
2404
+ readonly person: import("@elaraai/east").VariantType<{
2405
+ unchanged: NullType;
2406
+ replace: StructType<{
2407
+ before: StringType;
2408
+ after: StringType;
2409
+ }>;
2410
+ }>;
2411
+ readonly start: import("@elaraai/east").VariantType<{
2412
+ unchanged: NullType;
2413
+ replace: StructType<{
2414
+ before: DateTimeType;
2415
+ after: DateTimeType;
2416
+ }>;
2417
+ }>;
2418
+ readonly end: import("@elaraai/east").VariantType<{
2419
+ unchanged: NullType;
2420
+ replace: StructType<{
2421
+ before: DateTimeType;
2422
+ after: DateTimeType;
2423
+ }>;
2424
+ }>;
2425
+ readonly shift: import("@elaraai/east").VariantType<{
2426
+ unchanged: NullType;
2427
+ replace: StructType<{
2428
+ before: StringType;
2429
+ after: StringType;
2430
+ }>;
2431
+ }>;
2432
+ readonly team: import("@elaraai/east").VariantType<{
2433
+ unchanged: NullType;
2434
+ replace: StructType<{
2435
+ before: StringType;
2436
+ after: StringType;
2437
+ }>;
2438
+ }>;
2439
+ }>;
2440
+ }>;
2441
+ }>>;
2442
+ }>]>;
2443
+ export declare const minimalWorkers: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
2444
+ readonly name: StringType;
2445
+ readonly team: StringType;
2446
+ }>>, [variant<"field", "records">, variant<"field", "rota_minimal_workers">]>;
2447
+ export declare const minimalShiftTimes: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
2448
+ readonly name: StringType;
2449
+ readonly code: StringType;
2450
+ readonly starts: StructType<{
2451
+ readonly hour: IntegerType;
2452
+ readonly minute: IntegerType;
2453
+ }>;
2454
+ readonly hours: FloatType;
2455
+ readonly order: IntegerType;
2456
+ }>>, [variant<"field", "records">, variant<"field", "rota_minimal_shift_times">]>;
2457
+ export declare const minimalTeams: import("@elaraai/e3").RecordDef<DictType<StringType, StructType<{
2458
+ readonly name: StringType;
2459
+ }>>, [variant<"field", "records">, variant<"field", "rota_minimal_teams">]>;
747
2460
  export declare const rosterMinimal: import("@elaraai/east").ExampleDef<[], any>;
748
2461
  export declare const rosterPublished: import("@elaraai/east").ExampleDef<[], any>;
749
2462
  export declare const rosterCustomInspector: import("@elaraai/east").ExampleDef<[], any>;