@league-of-foundry-developers/foundry-vtt-types 13.346.0-beta.20250901211521 → 13.346.0-beta.20250902042249

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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "@league-of-foundry-developers/foundry-vtt-types",
4
- "version": "13.346.0-beta.20250901211521",
4
+ "version": "13.346.0-beta.20250902042249",
5
5
  "description": "TypeScript type definitions for Foundry VTT",
6
6
  "type": "module",
7
7
  "types": "./src/index.d.mts",
@@ -1,4 +1,4 @@
1
- import type { Brand, Identity, InexactPartial } from "#utils";
1
+ import type { Identity, InexactPartial, ValueOf } from "#utils";
2
2
  import type KeyboardManager from "./keyboard-manager.d.mts";
3
3
 
4
4
  /**
@@ -407,22 +407,22 @@ declare namespace ClientKeybindings {
407
407
  */
408
408
  interface ActionComparison extends Pick<KeybindingAction, "precedence" | "order"> {}
409
409
 
410
- type MOVEMENT_DIRECTIONS = Brand<string, "ClientKeybindings.MOVEMENT_DIRECTIONS">;
410
+ type MOVEMENT_DIRECTIONS = ValueOf<MovementDirections>;
411
411
 
412
412
  interface MovementDirections {
413
- UP: "up" & MOVEMENT_DIRECTIONS;
414
- LEFT: "left" & MOVEMENT_DIRECTIONS;
415
- DOWN: "down" & MOVEMENT_DIRECTIONS;
416
- RIGHT: "right" & MOVEMENT_DIRECTIONS;
417
- DESCEND: "descend" & MOVEMENT_DIRECTIONS;
418
- ASCEND: "ascend" & MOVEMENT_DIRECTIONS;
413
+ UP: "up";
414
+ LEFT: "left";
415
+ DOWN: "down";
416
+ RIGHT: "right";
417
+ DESCEND: "descend";
418
+ ASCEND: "ascend";
419
419
  }
420
420
 
421
- type ZOOM_DIRECTIONS = Brand<string, "ClientKeybindings.ZOOM_DIRECTIONS">;
421
+ type ZOOM_DIRECTIONS = ValueOf<ZoomDirections>;
422
422
 
423
423
  interface ZoomDirections {
424
- IN: "in" & ZOOM_DIRECTIONS;
425
- OUT: "out" & ZOOM_DIRECTIONS;
424
+ IN: "in";
425
+ OUT: "out";
426
426
  }
427
427
  }
428
428
 
@@ -1,4 +1,4 @@
1
- import type { Brand, Identity, InexactPartial, IntentionalPartial } from "#utils";
1
+ import type { Identity, InexactPartial, IntentionalPartial, ValueOf } from "#utils";
2
2
 
3
3
  /**
4
4
  * A singleton Tooltip Manager class responsible for rendering and positioning a dynamic tooltip element which is
@@ -164,14 +164,14 @@ declare namespace TooltipManager {
164
164
  /**
165
165
  * The directions in which a tooltip can extend, relative to its tool-tipped element.
166
166
  */
167
- type TOOLTIP_DIRECTIONS = Brand<string, "TooltipManager.TOOLTIP_DIRECTIONS">;
167
+ type TOOLTIP_DIRECTIONS = ValueOf<TooltipDirections>;
168
168
 
169
169
  interface TooltipDirections {
170
- UP: "UP" & TOOLTIP_DIRECTIONS;
171
- DOWN: "DOWN" & TOOLTIP_DIRECTIONS;
172
- LEFT: "LEFT" & TOOLTIP_DIRECTIONS;
173
- RIGHT: "RIGHT" & TOOLTIP_DIRECTIONS;
174
- CENTER: "CENTER" & TOOLTIP_DIRECTIONS;
170
+ UP: "UP";
171
+ DOWN: "DOWN";
172
+ LEFT: "LEFT";
173
+ RIGHT: "RIGHT";
174
+ CENTER: "CENTER";
175
175
  }
176
176
 
177
177
  /** @internal */
@@ -3,7 +3,11 @@
3
3
  // While `.mts` could work, to avoid `import-x/no-unresolved` from erroring `.mjs` is used.
4
4
  /* eslint-disable import-x/extensions */
5
5
 
6
+ /** @privateRemarks Foundry does an import then separate re-export for use in the body of {@linkcode registerTours}, not necessary on our side */
6
7
  export * as tours from "./tours/_module.mjs";
7
8
  export { default as Tour } from "./tour.mjs";
8
9
  export { default as NewUserExperienceManager } from "./nue-manager.mjs";
9
10
  export { default as ToursCollection } from "./tours-collection.mjs";
11
+
12
+ /** Register core Tours. */
13
+ export function registerTours(): Promise<void>;
@@ -10,7 +10,30 @@ declare class NewUserExperienceManager {
10
10
  */
11
11
  initialize(): void;
12
12
 
13
- #private: true;
13
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
14
+ protected _createInitialChatMessages(): never;
15
+
16
+ /**
17
+ * Create a default scene for the new world.
18
+ * @param sceneData - Additional data to merge with the default scene
19
+ * @returns The created default scene
20
+ * @remarks Creates the default scene with `{keepId: true}`, will be `"NUEDEFAULTSCENE0"` unless overwritten in `sceneData`
21
+ */
22
+ createDefaultScene(sceneData?: Scene.UpdateData): Promise<Scene.Implementation>;
23
+
24
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
25
+ protected _showNewWorldTour(): never;
26
+
27
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
28
+ protected _activateListeners(): never;
29
+
30
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
31
+ protected _onActionLink(): never;
32
+
33
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
34
+ protected _onTabLink(): never;
35
+
36
+ #NewUserExperienceManager: true;
14
37
  }
15
38
 
16
39
  declare namespace NewUserExperienceManager {}
@@ -1,4 +1,6 @@
1
- import type { ValueOf } from "#utils";
1
+ import type { Identity, InexactPartial, ValueOf } from "#utils";
2
+ import type { ClientKeybindings, TooltipManager } from "#client/helpers/interaction/_module.d.mts";
3
+ import type { Localization } from "#client/helpers/_module.d.mts";
2
4
 
3
5
  /**
4
6
  * A Tour that shows a series of guided steps.
@@ -11,7 +13,8 @@ declare class Tour {
11
13
  */
12
14
  constructor(config: Tour.Config, options?: Tour.ConstructorOptions);
13
15
 
14
- static STATUS: Tour.STATUS;
16
+ /** @remarks Frozen */
17
+ static STATUS: Tour.Status;
15
18
 
16
19
  /**
17
20
  * Indicates if a Tour is currently in progress.
@@ -21,13 +24,14 @@ declare class Tour {
21
24
  /**
22
25
  * Returns the active Tour, if any
23
26
  */
24
- static get activeTour(): Tour | null;
27
+ static get activeTour(): Tour.Any | null;
25
28
 
26
29
  /**
27
30
  * Handle a movement action to either progress or regress the Tour
28
31
  * @param movementDirections - The Directions being moved in
32
+ * @remarks This method's one call in core is by full path name inside `ClientKeybindings##onPan`, so extending in subclasses has no effect
29
33
  */
30
- static onMovementAction(movementDirections: string[]): true | void;
34
+ static onMovementAction(movementDirections: ClientKeybindings.MOVEMENT_DIRECTIONS[]): true | void;
31
35
 
32
36
  /**
33
37
  * Configuration of the tour. This object is cloned to avoid mutating the original configuration.
@@ -36,6 +40,7 @@ declare class Tour {
36
40
 
37
41
  /**
38
42
  * The HTMLElement which is the focus of the current tour step.
43
+ * @remarks Only `undefined` prior to Tour {@linkcode start}
39
44
  */
40
45
  targetElement: HTMLElement | undefined | null;
41
46
 
@@ -111,7 +116,7 @@ declare class Tour {
111
116
 
112
117
  /**
113
118
  * Return whether this Tour is currently eligible to be started?
114
- * This is useful for tours which can only be used in certain circumnstances, like if the canvas is active.
119
+ * This is useful for tours which can only be used in certain circumstances, like if the canvas is active.
115
120
  */
116
121
  get canStart(): boolean;
117
122
 
@@ -153,6 +158,8 @@ declare class Tour {
153
158
  /**
154
159
  * Progresses to a given Step
155
160
  * @param stepIndex - The step to progress to
161
+ * @remarks
162
+ * @throws If `stepIndex` is outside the range `[0, this.steps.length]`
156
163
  */
157
164
  progress(stepIndex: number): Promise<void>;
158
165
 
@@ -168,17 +175,22 @@ declare class Tour {
168
175
  * @param filepath - The path to the JSON file
169
176
  * @remarks Returns `new this()` so needs an override per subclass.
170
177
  */
171
- static fromJSON(filepath: string): Promise<Tour>;
178
+ static fromJSON(filepath: string): Promise<Tour.Any>;
172
179
 
173
180
  /**
174
181
  * Set-up operations performed before a step is shown.
175
182
  * @abstract
183
+ * @remarks Despite being marked `@abstract`, the base implementation is a no-op and doesn't throw.
184
+ * Implementation is therefor *not* required by subclasses, but most probably will do so anyway
176
185
  */
177
186
  protected _preStep(): Promise<void>;
178
187
 
179
188
  /**
180
189
  * Clean-up operations performed after a step is completed.
181
190
  * @abstract
191
+ * @remarks Despite being marked `@abstract`, the base implementation is a method with a real body
192
+ * and doesn't throw. Implementation is therefor *not* required by subclasses; none of core's do,
193
+ * and any that do must call `super._postStep()` in them
182
194
  */
183
195
  protected _postStep(): Promise<void>;
184
196
 
@@ -187,90 +199,120 @@ declare class Tour {
187
199
  */
188
200
  protected _renderStep(): Promise<void>;
189
201
 
202
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
203
+ protected _onButtonClick(event: never, buttons: never): never;
204
+
205
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
206
+ protected _saveProgress(): never;
207
+
208
+ /** @deprecated Made hard private in v13. This warning will be removed in v14. */
209
+ protected _loadProgress(): never;
210
+
190
211
  /**
191
212
  * Reloads the Tour's current step from the saved progress
192
213
  * @internal
193
214
  */
194
215
  _reloadProgress(): void;
195
216
 
196
- #tour: true;
217
+ #Tour: true;
197
218
  }
198
219
 
199
220
  declare namespace Tour {
200
- /** Tour configuration data */
201
- interface Config {
202
- /** The namespace this Tour belongs to. Typically, the name of the package which implements the tour should be used */
203
- namespace: string;
204
-
205
- /** A machine-friendly id of the Tour, must be unique within the provided namespace */
206
- id: string;
207
-
208
- /** A human-readable name for this Tour. Localized. */
209
- title: string;
210
-
211
- /** The list of Tour Steps */
212
- steps: Tour.Step[];
221
+ interface Any extends AnyTour {}
222
+ interface AnyConstructor extends Identity<typeof AnyTour> {}
213
223
 
224
+ /** @internal */
225
+ type _Config = InexactPartial<{
214
226
  /** A human-readable description of this Tour. Localized. */
215
- description?: string | undefined;
227
+ description: string;
216
228
 
217
229
  /** A map of localizations for the Tour that should be merged into the default localizations */
218
- localization?: foundry.helpers.Localization.Translations | undefined;
230
+ localization: Localization.Translations;
219
231
 
220
232
  /** Whether the Tour is restricted to the GM only. Defaults to false. */
221
- restricted?: boolean | undefined;
233
+ restricted: boolean;
222
234
 
223
235
  /** Whether the Tour should be displayed in the Manage Tours UI. Defaults to false. */
224
- display?: boolean | undefined;
236
+ display: boolean;
225
237
 
226
238
  /** Whether the Tour can be resumed or if it always needs to start from the beginning. Defaults to false. */
227
- canBeResumed?: boolean | undefined;
239
+ canBeResumed: boolean;
228
240
 
229
- /** A list of namespaced Tours that might be suggested to the user when this Tour is completed. The first non-completed Tour in the array will be recommended. */
230
- suggestedNextTours?: string[] | undefined;
231
- }
241
+ /**
242
+ * A list of namespaced Tours that might be suggested to the user when this Tour is completed. The first non-completed Tour in the array will be recommended.
243
+ * @remarks e.g. `["core.welcome"]`
244
+ */
245
+ suggestedNextTours: string[];
246
+ }>;
232
247
 
233
- /** A step in a Tour */
234
- interface Step {
235
- /** A machine-friendly id of the Tour Step */
248
+ /** Tour configuration data */
249
+ interface Config extends _Config {
250
+ /**
251
+ * The namespace this Tour belongs to. Typically, the name of the package which implements the tour should be used
252
+ * @remarks Technically not required as long as the Tour is only constructed to be immediately passed
253
+ * {@linkcode foundry.nue.ToursCollection.register | ToursCollection#register}, which will use its argument instead.
254
+ * Core relies on this for all their tour definitions in `public/tours/*.json`, but it's safer and simpler from the
255
+ * types perspective to leave it required, as per their typedef
256
+ */
257
+ namespace: string;
258
+
259
+ /**
260
+ * A machine-friendly id of the Tour, must be unique within the provided namespace
261
+ * @remarks Technically not required as long as the Tour is only constructed to be immediately passed
262
+ * {@linkcode foundry.nue.ToursCollection.register | ToursCollection#register}, which will use its argument instead.
263
+ * Core relies on this for all their tour definitions in `public/tours/*.json`, but it's safer and simpler from the
264
+ * types perspective to leave it required, as per their typedef
265
+ */
236
266
  id: string;
237
267
 
238
- /** The title of the step, displayed in the tooltip header */
268
+ /**
269
+ * A human-readable name for this Tour. Localized.
270
+ * @remarks As in, "this gets localized", not "must be passed pre-localized"
271
+ */
239
272
  title: string;
240
273
 
241
- /** Raw HTML content displayed during the step */
242
- content: string;
274
+ /** The list of Tour Steps */
275
+ steps: Tour.Step[];
276
+ }
243
277
 
278
+ /** @internal */
279
+ type _Step = InexactPartial<{
244
280
  /** A DOM selector which denotes an element to highlight during this step. If omitted, the step is displayed in the center of the screen. */
245
- selector?: string | undefined;
281
+ selector: string;
246
282
 
247
283
  /** How the tooltip for the step should be displayed relative to the target element. If omitted, the best direction will be attempted to be auto-selected. */
248
- tooltipDirection?: foundry.helpers.interaction.TooltipManager.TOOLTIP_DIRECTIONS | undefined;
284
+ tooltipDirection: TooltipManager.TOOLTIP_DIRECTIONS;
249
285
 
250
286
  /** Whether the Step is restricted to the GM only. Defaults to false. */
251
- restricted?: boolean | undefined;
287
+ restricted: boolean;
288
+ }>;
252
289
 
253
- /** Activates a particular sidebar tab. Usable in `SidebarTour` instances. */
254
- sidebarTab?: string | undefined;
290
+ /** A step in a Tour */
291
+ interface Step extends _Step {
292
+ /** A machine-friendly id of the Tour Step */
293
+ id: string;
255
294
 
256
- /** Activates a particular canvas layer and its respective control group. Usable in `CanvasTour` instances */
257
- layer?: string | undefined;
295
+ /** The title of the step, displayed in the tooltip header */
296
+ title: string;
258
297
 
259
- /** Activates a particular tool. Usable in `CanvasTour` instances. */
260
- tool?: string | undefined;
298
+ /** Raw HTML content displayed during the step */
299
+ content: string;
261
300
  }
262
301
 
263
- type Status = ValueOf<STATUS>;
302
+ type STATUS = ValueOf<Status>;
264
303
 
265
- interface ConstructorOptions {
266
- /** A tour ID that supercedes `TourConfig#id` */
304
+ /** @internal */
305
+ type _ConstructorOptions = InexactPartial<{
306
+ /** A tour ID that supersedes `TourConfig#id` */
267
307
  id: string;
268
308
 
269
- /** A tour namespace that supercedes `TourConfig#namespace` */
309
+ /** A tour namespace that supersedes `TourConfig#namespace` */
270
310
  namespace: string;
271
- }
311
+ }>;
312
+
313
+ interface ConstructorOptions extends _ConstructorOptions {}
272
314
 
273
- interface STATUS {
315
+ interface Status {
274
316
  readonly UNSTARTED: "unstarted";
275
317
  readonly IN_PROGRESS: "in-progress";
276
318
  readonly COMPLETED: "completed";
@@ -278,3 +320,7 @@ declare namespace Tour {
278
320
  }
279
321
 
280
322
  export default Tour;
323
+
324
+ declare abstract class AnyTour extends Tour {
325
+ constructor(...args: never);
326
+ }
@@ -1,15 +1,55 @@
1
- import type Tour from "../tour.mjs";
1
+ import type { Identity, InexactPartial } from "#utils";
2
+ import type { Tour } from "#client/nue/_module.d.mts";
3
+ import type { SceneControls } from "#client/applications/ui/_module.d.mts";
2
4
 
3
5
  /**
4
6
  * A tour for demonstrating an aspect of Canvas functionality.
5
7
  * Automatically activates a certain canvas layer or tool depending on the needs of the step.
6
8
  */
7
9
  declare class CanvasTour extends Tour {
10
+ /** @privateRemarks Fake type override */
11
+ constructor(config: CanvasTour.Config, options?: Tour.ConstructorOptions);
12
+
13
+ /** @privateRemarks Fake type override */
14
+ override config: CanvasTour.Config;
15
+
8
16
  override start(): Promise<void>;
17
+
9
18
  override get canStart(): boolean;
19
+
20
+ /** @privateRemarks Fake type override */
21
+ static override fromJSON(filepath: string): Promise<CanvasTour.Any>;
22
+
10
23
  protected override _preStep(): Promise<void>;
24
+
25
+ #CanvasTour: true;
11
26
  }
12
27
 
13
- declare namespace CanvasTour {}
28
+ declare namespace CanvasTour {
29
+ interface Any extends AnyCanvasTour {}
30
+ interface AnyConstructor extends Identity<typeof AnyCanvasTour> {}
31
+
32
+ interface Config extends Tour.Config {
33
+ steps: CanvasTour.Step[];
34
+ }
35
+
36
+ /** @internal */
37
+ type _Step = InexactPartial<{
38
+ /**
39
+ * Activates a particular canvas layer and its respective control group. Usable in `CanvasTour` instances
40
+ * @privateRemarks This is just `string` for now, but we may narrow the controls type to only configured values in future
41
+ */
42
+ layer: keyof SceneControls["controls"];
43
+
44
+ /** Activates a particular tool. Usable in `CanvasTour` instances. */
45
+ tool: string;
46
+ }>;
47
+
48
+ interface Step extends Tour.Step, _Step {}
49
+ }
14
50
 
15
51
  export default CanvasTour;
52
+
53
+ declare abstract class AnyCanvasTour extends CanvasTour {
54
+ constructor(...args: never);
55
+ }
@@ -1,31 +1,54 @@
1
- import type Tour from "../tour.mjs";
1
+ import type { Identity, InexactPartial } from "#utils";
2
+ import type { Tour } from "#client/nue/_module.d.mts";
3
+ import type { Application } from "#client/appv1/api/_module.d.mts";
4
+ import type { ApplicationV2 } from "#client/applications/api/_module.d.mts";
2
5
 
3
6
  /**
4
7
  * A Tour subclass that handles controlling the UI state of the Setup screen
5
8
  */
6
9
  declare class SetupTour extends Tour {
10
+ /** @privateRemarks Fake type override */
7
11
  constructor(config: SetupTour.Config, options?: Tour.ConstructorOptions);
8
12
 
13
+ /** @privateRemarks Fake type override */
14
+ config: SetupTour.Config;
15
+
9
16
  /**
10
17
  * Stores a currently open Application for future steps
11
18
  */
12
- focusedApp: foundry.appv1.api.Application.Any | foundry.applications.api.ApplicationV2.Any;
19
+ focusedApp: Application.Any | ApplicationV2.Any;
13
20
 
14
21
  override get canStart(): boolean;
22
+
23
+ /** @remarks Removes the GM check, as 'A user is always "GM" for Setup Tours' */
15
24
  override get steps(): Tour.Step[];
25
+
26
+ /** @privateRemarks Fake type override */
27
+ static override fromJSON(filepath: string): Promise<SetupTour.Any>;
28
+
16
29
  protected override _preStep(): Promise<void>;
17
30
 
18
- #setupTour: true;
31
+ #SetupTour: true;
19
32
  }
20
33
 
21
34
  declare namespace SetupTour {
22
- interface Config extends Tour.Config {
35
+ interface Any extends AnySetupTour {}
36
+ interface AnyConstructor extends Identity<typeof AnySetupTour> {}
37
+
38
+ /** @internal */
39
+ type _Config = InexactPartial<{
23
40
  /**
24
41
  * Whether to close all open windows before beginning the tour.
25
- * @defaultValue `true`
42
+ * @remarks Checked for `!== false`, so effectively defaults `true`
26
43
  */
27
44
  closeWindows: boolean;
28
- }
45
+ }>;
46
+
47
+ interface Config extends Tour.Config, _Config {}
29
48
  }
30
49
 
31
50
  export default SetupTour;
51
+
52
+ declare abstract class AnySetupTour extends SetupTour {
53
+ constructor(...args: never);
54
+ }
@@ -1,13 +1,46 @@
1
+ import type { Identity, InexactPartial } from "#utils";
1
2
  import type Tour from "../tour.mjs";
2
3
 
3
4
  /**
4
5
  * A Tour subclass for the Sidebar Tour
5
6
  */
6
7
  declare class SidebarTour extends Tour {
8
+ /** @privateRemarks Fake type override */
9
+ constructor(config: SidebarTour.Config, options?: Tour.ConstructorOptions);
10
+
11
+ /** @privateRemarks Fake type override */
12
+ override config: SidebarTour.Config;
13
+
7
14
  override start(): Promise<void>;
15
+
16
+ /** @privateRemarks Fake type override */
17
+ static override fromJSON(filepath: string): Promise<SidebarTour.Any>;
18
+
8
19
  protected override _preStep(): Promise<void>;
9
20
  }
10
21
 
11
- declare namespace SidebarTour {}
22
+ declare namespace SidebarTour {
23
+ interface Any extends AnySidebarTour {}
24
+ interface AnyConstructor extends Identity<typeof AnySidebarTour> {}
25
+
26
+ /** @internal */
27
+ type _Step = InexactPartial<{
28
+ /**
29
+ * Activates a particular sidebar tab. Usable in {@linkcode SidebarTour} instances.
30
+ * @remarks {@linkcode SidebarTour._preStep | SidebarTour#_preStep} does `await ui[this.currentStep.sidebarTab]?.activate();`
31
+ */
32
+ sidebarTab: keyof typeof ui;
33
+ }>;
34
+
35
+ interface Step extends Tour.Step, _Step {}
36
+
37
+ interface Config extends Tour.Config {
38
+ steps: SidebarTour.Step[];
39
+ }
40
+ }
12
41
 
13
42
  export default SidebarTour;
43
+
44
+ declare abstract class AnySidebarTour extends SidebarTour {
45
+ constructor(...args: never);
46
+ }
@@ -2,8 +2,10 @@ import type Tour from "./tour.d.mts";
2
2
 
3
3
  /**
4
4
  * A singleton Tour Collection class responsible for registering and activating Tours, accessible as game.tours.
5
+ * @remarks
6
+ * @throws If {@linkcode game.tours} is already constructed
5
7
  */
6
- declare class ToursCollection extends Collection<Tour> {
8
+ declare class ToursCollection extends Collection<Tour.Any> {
7
9
  constructor();
8
10
 
9
11
  /**
@@ -11,13 +13,17 @@ declare class ToursCollection extends Collection<Tour> {
11
13
  * @param namespace - The namespace of the Tour
12
14
  * @param id - The machine-readable id of the Tour
13
15
  * @param tour - The constructed Tour
16
+ * @remarks
17
+ * @throws If a Tour with this `namespace`/`id` combination has already been registered
14
18
  */
15
- register(namespace: string, id: string, tour: Tour): void;
19
+ register(namespace: string, id: string, tour: Tour.Any): void;
16
20
 
17
21
  /**
18
22
  * Set a Tour to the collection.
23
+ * @remarks Only checks to throw or not then calls super
24
+ * @throws If `key` doesn't match the Tour's `namespace` and `id`
19
25
  */
20
- set(key: string, tour: Tour): this;
26
+ set(key: string, tour: Tour.Any): this;
21
27
  }
22
28
 
23
29
  declare namespace ToursCollection {}