@crowbartools/firebot-types 5.67.0-alpha11 → 5.67.0-alpha13

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 (83) hide show
  1. package/backend/events/filters/builtin/firebot/index.d.ts +1 -1
  2. package/backend/events/filters/builtin/firebot/new-currency-amount.d.ts +1 -1
  3. package/backend/events/filters/builtin/firebot/new-view-time.d.ts +1 -1
  4. package/backend/events/filters/builtin/firebot/previous-currency-amount.d.ts +1 -1
  5. package/backend/events/filters/builtin/firebot/previous-view-time.d.ts +1 -1
  6. package/backend/events/filters/builtin/index.d.ts +1 -1
  7. package/backend/events/filters/builtin/third-party/donation-amount.d.ts +1 -1
  8. package/backend/events/filters/builtin/third-party/index.d.ts +1 -1
  9. package/backend/events/filters/builtin/twitch/bits-badge-tier.d.ts +1 -1
  10. package/backend/events/filters/builtin/twitch/chat-mode-duration.d.ts +1 -1
  11. package/backend/events/filters/builtin/twitch/cheer-bits-amount.d.ts +1 -1
  12. package/backend/events/filters/builtin/twitch/gift-count.d.ts +1 -1
  13. package/backend/events/filters/builtin/twitch/gift-duration.d.ts +1 -1
  14. package/backend/events/filters/builtin/twitch/index.d.ts +1 -1
  15. package/backend/events/filters/builtin/twitch/lifetime-gift-count.d.ts +1 -1
  16. package/backend/events/filters/builtin/twitch/raid-viewer-count.d.ts +1 -1
  17. package/backend/events/filters/builtin/twitch/sub-months.d.ts +1 -1
  18. package/backend/events/filters/builtin/twitch/watch-streak-count.d.ts +1 -1
  19. package/backend/integrations/builtin/streamloots/filters/chest-quantity.d.ts +1 -1
  20. package/backend/overlay-widgets/overlay-widgets-manager.d.ts +1 -1
  21. package/backend/ranks/rank-ladder-helper.d.ts +1 -1
  22. package/backend/restrictions/builtin/index.d.ts +1 -1
  23. package/backend/scripts/script-api/namespaces/http-server.d.ts +2 -0
  24. package/index.d.ts +1 -1
  25. package/package.json +1 -1
  26. package/types/accounts.d.ts +1 -2
  27. package/types/auth.d.ts +1 -10
  28. package/types/channel-rewards.d.ts +1 -5
  29. package/types/chat.d.ts +9 -31
  30. package/types/commands.d.ts +11 -31
  31. package/types/counters.d.ts +1 -2
  32. package/types/currency.d.ts +1 -3
  33. package/types/discord.d.ts +0 -1
  34. package/types/effects.d.ts +9 -42
  35. package/types/events.d.ts +3 -36
  36. package/types/expressionish.d.ts +2 -22
  37. package/types/games.d.ts +1 -4
  38. package/types/hotkeys.d.ts +1 -3
  39. package/types/http-server.d.ts +2 -14
  40. package/types/icons.d.ts +1 -1
  41. package/types/import.d.ts +7 -34
  42. package/types/index.d.ts +1 -1
  43. package/types/integrations.d.ts +41 -65
  44. package/types/moderation.d.ts +1 -8
  45. package/types/modules/event-manager.d.ts +2 -10
  46. package/types/modules/frontend-communicator.d.ts +5 -21
  47. package/types/modules/index.d.ts +1 -1
  48. package/types/notifications.d.ts +1 -6
  49. package/types/overlay-widgets.d.ts +11 -34
  50. package/types/parameters.d.ts +26 -182
  51. package/types/plugins.d.ts +18 -58
  52. package/types/power-ups.d.ts +0 -2
  53. package/types/pronouns.d.ts +1 -2
  54. package/types/quick-actions.d.ts +1 -3
  55. package/types/quotes.d.ts +1 -3
  56. package/types/ranks.d.ts +1 -2
  57. package/types/restrictions.d.ts +7 -24
  58. package/types/roles.d.ts +1 -3
  59. package/types/script-api.d.ts +14 -49
  60. package/types/settings.d.ts +7 -7
  61. package/types/setups.d.ts +2 -4
  62. package/types/sort-tags.d.ts +1 -1
  63. package/types/timers.d.ts +1 -5
  64. package/types/triggers.d.ts +12 -23
  65. package/types/ui/angular.d.ts +5 -26
  66. package/types/ui/effect-helper-service.d.ts +1 -2
  67. package/types/ui/effect-queues-service.d.ts +8 -4
  68. package/types/ui/firebot-root-scope.d.ts +0 -1
  69. package/types/ui/index.d.ts +1 -1
  70. package/types/ui/modal-factory.d.ts +5 -13
  71. package/types/ui/modal-service.d.ts +3 -2
  72. package/types/ui/ng-toast.d.ts +5 -1
  73. package/types/ui/object-copy-helper.d.ts +0 -1
  74. package/types/ui/platform-service.d.ts +1 -1
  75. package/types/ui/preset-effect-lists-service.d.ts +1 -6
  76. package/types/ui/settings-service.d.ts +0 -1
  77. package/types/ui-extensions.d.ts +9 -16
  78. package/types/util-types.d.ts +7 -33
  79. package/types/variable-macros.d.ts +1 -1
  80. package/types/variables.d.ts +5 -19
  81. package/types/viewers.d.ts +1 -3
  82. package/types/webhooks.d.ts +1 -1
  83. package/types/websocket.d.ts +8 -46
@@ -1,13 +1,11 @@
1
1
  import type { FirebotParameterArray, FontOptions } from "./parameters";
2
2
  import type { Awaitable } from "./util-types";
3
-
4
3
  export type Position = {
5
4
  x: number;
6
5
  y: number;
7
6
  width: number;
8
7
  height: number;
9
8
  };
10
-
11
9
  export type Animation = {
12
10
  /**
13
11
  * CSS class name for the animation (e.g., from Animate.css)
@@ -18,13 +16,11 @@ export type Animation = {
18
16
  */
19
17
  duration?: number;
20
18
  };
21
-
22
19
  type WidgetEvent<Settings, State> = OverlayWidgetConfig<Settings, State> & {
23
20
  previewMode: boolean;
24
21
  previousState?: State;
25
22
  persisted?: boolean;
26
23
  };
27
-
28
24
  export type WidgetEventResult<State> = {
29
25
  newState?: State | null;
30
26
  /**
@@ -33,26 +29,16 @@ export type WidgetEventResult<State> = {
33
29
  */
34
30
  persistState?: boolean;
35
31
  };
36
-
37
32
  export type WidgetEventHandler<Settings, State, Return = WidgetEventResult<State>> = (event: WidgetEvent<Settings, State>) => Awaitable<Return | undefined>;
38
-
39
- export type WidgetUIAction<
40
- Settings extends Record<string, unknown> = Record<string, unknown>,
41
- State = Record<string, unknown>
42
- > = {
33
+ export type WidgetUIAction<Settings extends Record<string, unknown> = Record<string, unknown>, State = Record<string, unknown>> = {
43
34
  id: string;
44
35
  label: string;
45
36
  icon: string;
46
-
47
37
  click: (config: OverlayWidgetConfig<Settings, State>) => Awaitable<{
48
38
  newState?: State | null;
49
39
  } | void>;
50
40
  };
51
-
52
- export type OverlayWidgetType<
53
- Settings extends Record<string, unknown> = Record<string, unknown>,
54
- State = Record<string, unknown>
55
- > = {
41
+ export type OverlayWidgetType<Settings extends Record<string, unknown> = Record<string, unknown>, State = Record<string, unknown>> = {
56
42
  id: string;
57
43
  name: string;
58
44
  description: string;
@@ -88,12 +74,10 @@ export type OverlayWidgetType<
88
74
  * Settings allow the user to customize the widget instance (e.g., font to use, colors, etc.)
89
75
  */
90
76
  settingsSchema?: FirebotParameterArray<Settings>;
91
-
92
77
  /**
93
78
  * Array of setting keys that cannot be edited in the Update Overlay Widget Settings effect.
94
79
  */
95
80
  nonEditableSettings?: (keyof Settings)[];
96
-
97
81
  /**
98
82
  * Initial state for the widget instance (e.g., current count for a counter widget)
99
83
  */
@@ -110,7 +94,6 @@ export type OverlayWidgetType<
110
94
  * State that is used when the widget is shown in live preview mode.
111
95
  */
112
96
  livePreviewState?: State;
113
-
114
97
  /**
115
98
  * Array of setting keys that reference local resource paths.
116
99
  * These properties will be automatically converted to resource tokens when sent to the overlay,
@@ -121,7 +104,6 @@ export type OverlayWidgetType<
121
104
  * This is shown in the overlay widget list to give the user a quick overview of the widget's state.
122
105
  * If null or undefined, no state display is shown.
123
106
  */
124
-
125
107
  stateDisplay?: (config: OverlayWidgetConfig<Settings, State>) => string | null;
126
108
  /**
127
109
  * Actions are buttons shown in the overlay widget list for each widget instance.
@@ -154,10 +136,12 @@ export type OverlayWidgetType<
154
136
  overlayExtension: {
155
137
  dependencies?: {
156
138
  css?: string[];
157
- js?: Array<string | { module: boolean, url: string }>;
139
+ js?: Array<string | {
140
+ module: boolean;
141
+ url: string;
142
+ }>;
158
143
  globalStyles?: string;
159
144
  };
160
-
161
145
  eventHandler: (event: WidgetOverlayEvent, utils: IOverlayWidgetEventUtils) => void;
162
146
  /**
163
147
  * Called when the overlay is loaded. Can be async.
@@ -165,8 +149,7 @@ export type OverlayWidgetType<
165
149
  onInitialLoad?: (utils: IOverlayWidgetInitUtils) => Awaitable<void>;
166
150
  };
167
151
  };
168
-
169
- type OverlayWidgetConfig<Settings = Record<string, unknown>, State = Record<string, unknown>> = {
152
+ export type OverlayWidgetConfig<Settings = Record<string, unknown>, State = Record<string, unknown>> = {
170
153
  id: string;
171
154
  name: string;
172
155
  type: string;
@@ -187,7 +170,6 @@ type OverlayWidgetConfig<Settings = Record<string, unknown>, State = Record<stri
187
170
  settings: Settings;
188
171
  state?: State;
189
172
  };
190
-
191
173
  export type WidgetOverlayEvent<Settings = Record<string, unknown>, State = Record<string, unknown>> = {
192
174
  name: "show" | "settings-update" | "state-update" | "message" | "remove";
193
175
  data: {
@@ -208,7 +190,6 @@ export type WidgetOverlayEvent<Settings = Record<string, unknown>, State = Recor
208
190
  messageData?: unknown;
209
191
  };
210
192
  };
211
-
212
193
  /**
213
194
  * Utility functions for managing overlay widgets. These functions can used within the overlayExtension.eventHandler
214
195
  */
@@ -222,19 +203,15 @@ export interface IOverlayWidgetEventUtils {
222
203
  handleOverlayEvent(generateWidgetHtml: (widgetConfig: WidgetOverlayEvent["data"]["widgetConfig"]) => string, updateOnMessage?: boolean): void;
223
204
  getWidgetPositionStyle(position?: Position): string;
224
205
  getWidgetContainerElement(): HTMLElement | null;
225
- initializeWidget(
226
- html: string
227
- ): void;
228
- updateWidgetContent(
229
- newHtml: string,
230
- ): void;
206
+ initializeWidget(html: string): void;
207
+ updateWidgetContent(newHtml: string): void;
231
208
  updateWidgetPosition(): void;
232
209
  removeWidget(): void;
233
210
  stylesToString(styles: Record<string, string | number | undefined>): string;
234
211
  getFontOptionsStyles(fontOptions?: FontOptions): Record<string, string | number | undefined>;
235
212
  sendMessageToFirebot(messageName: string, messageData?: unknown): void;
236
213
  }
237
-
238
214
  export interface IOverlayWidgetInitUtils {
239
215
  getWidgetContainerElements(): NodeListOf<HTMLElement>;
240
- }
216
+ }
217
+ export {};
@@ -1,6 +1,5 @@
1
1
  import type { EffectList } from "./effects";
2
2
  import type { Animation } from "./overlay-widgets";
3
-
4
3
  export type BaseParameter = {
5
4
  /**
6
5
  * The title of the parameter
@@ -28,23 +27,19 @@ export type BaseParameter = {
28
27
  };
29
28
  default?: unknown;
30
29
  };
31
-
32
30
  export type StringParameter = BaseParameter & {
33
31
  type: "string";
34
32
  useTextArea?: boolean;
35
33
  default: string;
36
34
  };
37
-
38
35
  export type PasswordParameter = BaseParameter & {
39
36
  type: "password";
40
37
  default: string;
41
38
  };
42
-
43
39
  export type BooleanParameter = BaseParameter & {
44
40
  type: "boolean";
45
41
  default: boolean;
46
42
  };
47
-
48
43
  export type NumberParameter = BaseParameter & {
49
44
  type: "number";
50
45
  placeholder?: string;
@@ -54,7 +49,6 @@ export type NumberParameter = BaseParameter & {
54
49
  max?: number;
55
50
  };
56
51
  };
57
-
58
52
  export type DateTimeParameter = BaseParameter & {
59
53
  type: "date-time";
60
54
  default?: string;
@@ -62,7 +56,6 @@ export type DateTimeParameter = BaseParameter & {
62
56
  futureOnly?: boolean;
63
57
  };
64
58
  };
65
-
66
59
  export type EnumParameter<G = string | number> = BaseParameter & {
67
60
  type: "enum";
68
61
  options: Array<G>;
@@ -73,7 +66,6 @@ export type EnumParameter<G = string | number> = BaseParameter & {
73
66
  */
74
67
  placeholder?: string;
75
68
  };
76
-
77
69
  export type FilepathParameter = BaseParameter & {
78
70
  type: "filepath";
79
71
  fileOptions?: {
@@ -86,25 +78,20 @@ export type FilepathParameter = BaseParameter & {
86
78
  buttonLabel: string;
87
79
  };
88
80
  };
89
-
90
81
  export type EffectListParameter = BaseParameter & {
91
82
  type: "effectlist";
92
83
  };
93
-
94
84
  export type DiscordChannelWebhookParameter = BaseParameter & {
95
85
  type: "discord-channel-webhooks";
96
86
  };
97
-
98
87
  export type CurrencySelectParameter = BaseParameter & {
99
88
  type: "currency-select";
100
89
  default?: string;
101
90
  };
102
-
103
91
  export type ChatterSelectParameter = BaseParameter & {
104
92
  type: "chatter-select";
105
93
  default?: "Bot" | "Streamer";
106
94
  };
107
-
108
95
  export type EditableListParameter = BaseParameter & {
109
96
  type: "editable-list";
110
97
  default?: string[];
@@ -116,10 +103,7 @@ export type EditableListParameter = BaseParameter & {
116
103
  noneAddedText: string;
117
104
  };
118
105
  };
119
-
120
- export type MultiselectParameter<
121
- T extends string | number = string | number
122
- > = BaseParameter & {
106
+ export type MultiselectParameter<T extends string | number = string | number> = BaseParameter & {
123
107
  type: "multiselect";
124
108
  default?: T[];
125
109
  settings: {
@@ -129,7 +113,6 @@ export type MultiselectParameter<
129
113
  }>;
130
114
  };
131
115
  };
132
-
133
116
  export type RolePercentageParameterValue = {
134
117
  basePercent: number;
135
118
  roles: Array<{
@@ -137,12 +120,10 @@ export type RolePercentageParameterValue = {
137
120
  percent: number;
138
121
  }>;
139
122
  };
140
-
141
123
  export type RolePercentagesParameter = BaseParameter & {
142
124
  type: "role-percentages";
143
125
  default?: RolePercentageParameterValue;
144
126
  };
145
-
146
127
  export type RoleNumberParameterValue = {
147
128
  base: number;
148
129
  roles: Array<{
@@ -150,7 +131,6 @@ export type RoleNumberParameterValue = {
150
131
  value: number;
151
132
  }>;
152
133
  };
153
-
154
134
  export type RoleNumberParameter = BaseParameter & {
155
135
  type: "role-numbers";
156
136
  default?: RoleNumberParameterValue;
@@ -161,7 +141,6 @@ export type RoleNumberParameter = BaseParameter & {
161
141
  max?: number;
162
142
  };
163
143
  };
164
-
165
144
  export type ButtonParameter = BaseParameter & {
166
145
  type: "button";
167
146
  /**
@@ -170,30 +149,10 @@ export type ButtonParameter = BaseParameter & {
170
149
  backendEventName: string;
171
150
  buttonText: string;
172
151
  size?: "extraSmall" | "small" | "large";
173
- buttonType?:
174
- | "default"
175
- | "primary"
176
- | "success"
177
- | "info"
178
- | "warning"
179
- | "danger"
180
- | "link";
152
+ buttonType?: "default" | "primary" | "success" | "info" | "warning" | "danger" | "link";
181
153
  tooltip?: string;
182
- tooltipPlacement?:
183
- | "top"
184
- | "top-left"
185
- | "top-right"
186
- | "bottom"
187
- | "bottom-left"
188
- | "bottom-right"
189
- | "left"
190
- | "left-top"
191
- | "left-bottom"
192
- | "right"
193
- | "right-top"
194
- | "right-bottom";
195
- };
196
-
154
+ tooltipPlacement?: "top" | "top-left" | "top-right" | "bottom" | "bottom-left" | "bottom-right" | "left" | "left-top" | "left-bottom" | "right" | "right-top" | "right-bottom";
155
+ };
197
156
  export type HexColorParameter = BaseParameter & {
198
157
  type: "hexcolor";
199
158
  /**
@@ -202,7 +161,6 @@ export type HexColorParameter = BaseParameter & {
202
161
  default: string;
203
162
  allowAlpha?: boolean;
204
163
  };
205
-
206
164
  export type FontNameParameter = BaseParameter & {
207
165
  type: "font-name";
208
166
  /**
@@ -210,7 +168,6 @@ export type FontNameParameter = BaseParameter & {
210
168
  */
211
169
  default?: string;
212
170
  };
213
-
214
171
  export type FontOptions = {
215
172
  family: string;
216
173
  size: number;
@@ -218,14 +175,12 @@ export type FontOptions = {
218
175
  italic: boolean;
219
176
  color?: string;
220
177
  };
221
-
222
178
  export type FontOptionsParameter = BaseParameter & {
223
179
  type: "font-options";
224
180
  default: FontOptions;
225
181
  allowAlpha?: boolean;
226
182
  hideColor?: boolean;
227
183
  };
228
-
229
184
  export type RadioCardsParameter<V = string> = BaseParameter & {
230
185
  type: "radio-cards";
231
186
  default?: V;
@@ -239,143 +194,55 @@ export type RadioCardsParameter<V = string> = BaseParameter & {
239
194
  gridColumns?: number;
240
195
  };
241
196
  };
242
-
243
197
  export type CodeMirrorParameter = BaseParameter & {
244
198
  type: "codemirror";
245
199
  default?: string;
246
200
  settings?: {
247
- mode: { name: "javascript", json?: boolean } | "htmlmixed" | "css" | { mode: "xml", htmlMode: true };
201
+ mode: {
202
+ name: "javascript";
203
+ json?: boolean;
204
+ } | "htmlmixed" | "css" | {
205
+ mode: "xml";
206
+ htmlMode: true;
207
+ };
248
208
  theme: 'blackboard';
249
209
  lineNumbers?: boolean;
250
210
  autoRefresh?: boolean;
251
211
  showGutter?: boolean;
252
212
  };
253
213
  };
254
-
255
214
  export type CounterSelectParameter = BaseParameter & {
256
215
  type: "counter-select";
257
216
  default?: never;
258
217
  };
259
-
260
218
  export type SortTagSelectParameter = BaseParameter & {
261
219
  type: "sort-tag-select";
262
220
  context: string;
263
221
  default?: never;
264
222
  };
265
-
266
223
  export type AnimationSelectParameter = BaseParameter & {
267
224
  type: "animation-select";
268
225
  animationType: "enter" | "exit" | "inbetween";
269
226
  default?: Animation;
270
227
  };
271
-
272
228
  export type UnknownParameter = BaseParameter & {
273
229
  [key: string]: unknown;
274
230
  };
275
-
276
- type FirebotParameter =
277
- | StringParameter
278
- | PasswordParameter
279
- | BooleanParameter
280
- | NumberParameter
281
- | DateTimeParameter
282
- | EnumParameter
283
- | EffectListParameter
284
- | DiscordChannelWebhookParameter
285
- | CurrencySelectParameter
286
- | ChatterSelectParameter
287
- | EditableListParameter
288
- | MultiselectParameter
289
- | RolePercentagesParameter
290
- | RoleNumberParameter
291
- | ButtonParameter
292
- | UnknownParameter
293
- | HexColorParameter
294
- | FontNameParameter
295
- | FontOptionsParameter
296
- | RadioCardsParameter
297
- | CodeMirrorParameter
298
- | CounterSelectParameter
299
- | SortTagSelectParameter
300
- | AnimationSelectParameter;
301
-
231
+ type FirebotParameter = StringParameter | PasswordParameter | BooleanParameter | NumberParameter | DateTimeParameter | EnumParameter | EffectListParameter | DiscordChannelWebhookParameter | CurrencySelectParameter | ChatterSelectParameter | EditableListParameter | MultiselectParameter | RolePercentagesParameter | RoleNumberParameter | ButtonParameter | UnknownParameter | HexColorParameter | FontNameParameter | FontOptionsParameter | RadioCardsParameter | CodeMirrorParameter | CounterSelectParameter | SortTagSelectParameter | AnimationSelectParameter;
302
232
  export type ParametersConfig<P> = {
303
- [K in keyof P]: (P[K] extends string
304
- ?
305
- | StringParameter
306
- | PasswordParameter
307
- | DateTimeParameter
308
- | FilepathParameter
309
- | ChatterSelectParameter
310
- | CurrencySelectParameter
311
- | EnumParameter<string>
312
- | HexColorParameter
313
- | FontNameParameter
314
- | RadioCardsParameter<string>
315
- | CodeMirrorParameter
316
- | CounterSelectParameter
317
- | SortTagSelectParameter
318
- : P[K] extends number
319
- ? NumberParameter | EnumParameter<number>
320
- : P[K] extends boolean
321
- ? BooleanParameter | EnumParameter<boolean>
322
- : P[K] extends Array<string>
323
- ? MultiselectParameter<string> | EditableListParameter
324
- : P[K] extends Array<number>
325
- ? MultiselectParameter<number>
326
- : P[K] extends void | undefined | null
327
- ? ButtonParameter
328
- : P[K] extends RolePercentageParameterValue
329
- ? RolePercentagesParameter
330
- : P[K] extends RoleNumberParameterValue
331
- ? RoleNumberParameter
332
- : P[K] extends EffectList
333
- ? EffectListParameter
334
- : P[K] extends FontOptions
335
- ? FontOptionsParameter
336
- : P[K] extends Animation
337
- ? AnimationSelectParameter : FirebotParameter) & { value?: P[K] };
338
- };
339
-
233
+ [K in keyof P]: (P[K] extends string ? StringParameter | PasswordParameter | DateTimeParameter | FilepathParameter | ChatterSelectParameter | CurrencySelectParameter | EnumParameter<string> | HexColorParameter | FontNameParameter | RadioCardsParameter<string> | CodeMirrorParameter | CounterSelectParameter | SortTagSelectParameter : P[K] extends number ? NumberParameter | EnumParameter<number> : P[K] extends boolean ? BooleanParameter | EnumParameter<boolean> : P[K] extends Array<string> ? MultiselectParameter<string> | EditableListParameter : P[K] extends Array<number> ? MultiselectParameter<number> : P[K] extends void | undefined | null ? ButtonParameter : P[K] extends RolePercentageParameterValue ? RolePercentagesParameter : P[K] extends RoleNumberParameterValue ? RoleNumberParameter : P[K] extends EffectList ? EffectListParameter : P[K] extends FontOptions ? FontOptionsParameter : P[K] extends Animation ? AnimationSelectParameter : FirebotParameter) & {
234
+ value?: P[K];
235
+ };
236
+ };
340
237
  export type ParametersWithNameConfig<P> = {
341
- [K in keyof P]: (P[K] extends string
342
- ?
343
- | StringParameter
344
- | PasswordParameter
345
- | DateTimeParameter
346
- | FilepathParameter
347
- | ChatterSelectParameter
348
- | CurrencySelectParameter
349
- | EnumParameter<string>
350
- | HexColorParameter
351
- | FontNameParameter
352
- | RadioCardsParameter<string>
353
- | CodeMirrorParameter
354
- | CounterSelectParameter
355
- | SortTagSelectParameter
356
- : P[K] extends number
357
- ? NumberParameter | EnumParameter<number> | RadioCardsParameter<number>
358
- : P[K] extends boolean
359
- ? BooleanParameter | EnumParameter<boolean> | RadioCardsParameter<boolean>
360
- : P[K] extends Array<string>
361
- ? MultiselectParameter<string> | EditableListParameter
362
- : P[K] extends Array<number>
363
- ? MultiselectParameter<number>
364
- : P[K] extends void | undefined | null
365
- ? ButtonParameter
366
- : P[K] extends RolePercentageParameterValue
367
- ? RolePercentagesParameter
368
- : P[K] extends RoleNumberParameterValue
369
- ? RoleNumberParameter
370
- : P[K] extends EffectList
371
- ? EffectListParameter
372
- : P[K] extends FontOptions
373
- ? FontOptionsParameter
374
- : P[K] extends Animation
375
- ? AnimationSelectParameter : FirebotParameter) & { name: K, showIf?: { [K2 in keyof P]?: P[K2] | Array<P[K2]> } };
376
- };
377
-
378
- type FirebotParamCategory<ParamConfig extends Record<string, unknown>> = {
238
+ [K in keyof P]: (P[K] extends string ? StringParameter | PasswordParameter | DateTimeParameter | FilepathParameter | ChatterSelectParameter | CurrencySelectParameter | EnumParameter<string> | HexColorParameter | FontNameParameter | RadioCardsParameter<string> | CodeMirrorParameter | CounterSelectParameter | SortTagSelectParameter : P[K] extends number ? NumberParameter | EnumParameter<number> | RadioCardsParameter<number> : P[K] extends boolean ? BooleanParameter | EnumParameter<boolean> | RadioCardsParameter<boolean> : P[K] extends Array<string> ? MultiselectParameter<string> | EditableListParameter : P[K] extends Array<number> ? MultiselectParameter<number> : P[K] extends void | undefined | null ? ButtonParameter : P[K] extends RolePercentageParameterValue ? RolePercentagesParameter : P[K] extends RoleNumberParameterValue ? RoleNumberParameter : P[K] extends EffectList ? EffectListParameter : P[K] extends FontOptions ? FontOptionsParameter : P[K] extends Animation ? AnimationSelectParameter : FirebotParameter) & {
239
+ name: K;
240
+ showIf?: {
241
+ [K2 in keyof P]?: P[K2] | Array<P[K2]>;
242
+ };
243
+ };
244
+ };
245
+ export type FirebotParamCategory<ParamConfig extends Record<string, unknown>> = {
379
246
  title: string;
380
247
  /**
381
248
  * Used to order categories in the UI.
@@ -383,32 +250,9 @@ type FirebotParamCategory<ParamConfig extends Record<string, unknown>> = {
383
250
  sortRank?: number;
384
251
  settings: ParametersConfig<ParamConfig>;
385
252
  };
386
-
387
253
  export type FirebotParams = Record<string, unknown>;
388
-
389
- export type FirebotParameterCategories<Config extends FirebotParams> = {
254
+ export type FirebotParameterCategories<Config extends Record<string, Record<string, unknown>>> = {
390
255
  [Category in keyof Config]: FirebotParamCategory<Config[Category]>;
391
256
  };
392
-
393
257
  export type FirebotParameterArray<Config extends Record<string, unknown>> = ParametersWithNameConfig<Config>[keyof Config][];
394
-
395
-
396
- // export type WithValues<Categories extends FirebotParameterCategories> = {
397
- // [Category in keyof Categories]: Categories[Category] & {
398
- // settings: {
399
- // [Setting in keyof Categories[Category]["settings"]]: Categories[Category]["settings"][Setting] & {
400
- // value?: Categories[Category]["settings"][Setting]["default"];
401
- // };
402
- // };
403
- // }
404
- // };
405
-
406
- // type ValidParamKeys<T> = {
407
- // [P in keyof T]: Exclude<T[P], undefined> extends void | undefined | null
408
- // ? never
409
- // : P;
410
- // }[keyof T];
411
-
412
- // export type ResolvedParameters<Config extends FirebotParams> = {
413
- // [K in keyof Config]: Pick<Config[K], ValidParamKeys<Config[K]>>;
414
- // }
258
+ export {};