@mafiahub/types 0.1.4 → 0.1.6

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/core/color.d.ts CHANGED
@@ -4,31 +4,52 @@ declare namespace Core {
4
4
  * Use `Color.fromRGB()` to construct from 0-255 values.
5
5
  */
6
6
  class Color {
7
+ /** Create a color from normalized components; alpha defaults to 1. */
7
8
  constructor(r: number, g: number, b: number, a?: number);
8
9
 
10
+ /** Mutable normalized red component. */
9
11
  r: number;
12
+ /** Mutable normalized green component. */
10
13
  g: number;
14
+ /** Mutable normalized blue component. */
11
15
  b: number;
16
+ /** Mutable normalized alpha component. */
12
17
  a: number;
13
18
 
19
+ /** Interpolate every component toward `target`, mutating this color. */
14
20
  lerp(target: Color, t: number): this;
21
+ /** Replace normalized components; alpha defaults to 1 when omitted. */
15
22
  set(r: number, g: number, b: number, a?: number): this;
23
+ /** Create an independent copy. */
16
24
  clone(): Color;
25
+ /** Return uppercase `#RRGGBB`, or `#RRGGBBAA` when alpha is requested. */
17
26
  toHex(includeAlpha?: boolean): string;
27
+ /** Format as `Color(r, g, b, a)` for logging. */
18
28
  toString(): string;
29
+ /** Convert to a plain normalized component object for `JSON.stringify`. */
19
30
  toJSON(): { r: number; g: number; b: number; a: number };
20
31
 
32
+ /** Parse `#RGB`, `#RGBA`, `#RRGGBB`, or `#RRGGBBAA`; invalid input returns opaque white. */
21
33
  static fromHex(hex: string): Color;
22
- /** Construct from 0-255 component values. */
34
+ /** Construct from 0-255 component values; alpha defaults to 255. */
23
35
  static fromRGB(r: number, g: number, b: number, a?: number): Color;
36
+ /** Create opaque white. */
24
37
  static white(): Color;
38
+ /** Create opaque black. */
25
39
  static black(): Color;
40
+ /** Create opaque red. */
26
41
  static red(): Color;
42
+ /** Create opaque green. */
27
43
  static green(): Color;
44
+ /** Create opaque blue. */
28
45
  static blue(): Color;
46
+ /** Create opaque yellow. */
29
47
  static yellow(): Color;
48
+ /** Create opaque cyan. */
30
49
  static cyan(): Color;
50
+ /** Create opaque magenta. */
31
51
  static magenta(): Color;
52
+ /** Create fully transparent black. */
32
53
  static transparent(): Color;
33
54
  }
34
55
  }
package/core/events.d.ts CHANGED
@@ -9,34 +9,62 @@ declare namespace Core {
9
9
  */
10
10
  const Events: {
11
11
  /**
12
- * Register a listener for an event.
12
+ * Register a persistent listener owned by the calling resource.
13
+ * @param eventName Case-sensitive shared event name.
14
+ * @param handler Callback invoked with the emitted arguments; asynchronous results are awaited by emitters.
13
15
  * @returns An unsubscribe function.
14
16
  */
15
17
  on(eventName: string, handler: (...args: any[]) => void): () => void;
16
18
 
17
- /** Register a one-time listener. */
19
+ /**
20
+ * Register a listener removed before its first invocation.
21
+ * @param eventName Case-sensitive shared event name.
22
+ * @param handler Resource-owned callback invoked once.
23
+ */
18
24
  once(eventName: string, handler: (...args: any[]) => void): void;
19
25
 
20
- /** Remove a specific listener. */
26
+ /**
27
+ * Remove a matching listener owned by the calling resource.
28
+ * @param eventName Case-sensitive shared event name.
29
+ * @param handler Exact function passed to `on` or `once`.
30
+ */
21
31
  off(eventName: string, handler: (...args: any[]) => void): void;
22
32
 
23
33
  /**
24
34
  * Emit an event globally. Reserved events cannot be emitted.
25
35
  * Resolves when all handlers complete; rejects with
26
36
  * `AggregateError` if any handler fails.
37
+ * @param eventName Shared event name; framework-reserved names cannot be emitted by scripts.
38
+ * @param args Arguments delivered to every matching handler.
27
39
  */
28
40
  emit(eventName: string, ...args: any[]): Promise<void>;
29
41
 
30
- /** Emit an event targeting a specific resource's listeners. */
42
+ /**
43
+ * Emit an event targeting listeners owned by one resource.
44
+ * @param resourceName Destination running resource.
45
+ * @param eventName Shared event name.
46
+ * @param args Arguments delivered to matching destination handlers.
47
+ */
31
48
  emitTo(resourceName: string, eventName: string, ...args: any[]): Promise<void>;
32
49
 
33
- /** Register a resource-local listener. */
50
+ /**
51
+ * Register a listener in the calling resource's private event namespace.
52
+ * @param eventName Private event name.
53
+ * @param handler Callback invoked only by the same resource's `emitLocal` calls.
54
+ */
34
55
  onLocal(eventName: string, handler: (...args: any[]) => void): void;
35
56
 
36
- /** Emit a resource-local event. */
57
+ /**
58
+ * Emit within the calling resource's private event namespace.
59
+ * @param eventName Private event name.
60
+ * @param args Arguments delivered to local handlers.
61
+ */
37
62
  emitLocal(eventName: string, ...args: any[]): Promise<void>;
38
63
 
39
- /** Get the number of global listeners for an event. */
64
+ /**
65
+ * Count persistent and one-shot listeners across resources.
66
+ * @param eventName Shared event name to inspect.
67
+ */
40
68
  listenerCount(eventName: string): number;
41
69
  };
42
70
  }
@@ -1,29 +1,48 @@
1
1
  declare namespace Core {
2
+ /** Mutable quaternion used to compose and apply three-dimensional rotations. */
2
3
  class Quaternion {
4
+ /** Create a quaternion in scalar-first `(w, x, y, z)` order. */
3
5
  constructor(w: number, x: number, y: number, z: number);
4
6
 
7
+ /** Mutable scalar component. */
5
8
  w: number;
9
+ /** Mutable X imaginary component. */
6
10
  x: number;
11
+ /** Mutable Y imaginary component. */
7
12
  y: number;
13
+ /** Mutable Z imaginary component. */
8
14
  z: number;
9
15
 
16
+ /** Compose this rotation with `other`, mutating this quaternion. */
10
17
  multiply(other: Quaternion): this;
18
+ /** Normalize this quaternion in place. */
11
19
  normalize(): this;
20
+ /** Spherically interpolate toward `target`; `t=0` keeps this rotation and `t=1` reaches it. */
12
21
  slerp(target: Quaternion, t: number): this;
22
+ /** Return a new conjugated quaternion without modifying this one. */
13
23
  conjugate(): Quaternion;
24
+ /** Return a new inverse rotation without modifying this quaternion. */
14
25
  inverse(): Quaternion;
26
+ /** Compute the scalar quaternion dot product. */
15
27
  dot(other: Quaternion): number;
28
+ /** Apply this rotation and return a new rotated vector. */
16
29
  rotateVector(v: Vector3): Vector3;
17
30
  /** Euler angles in radians (x=pitch, y=yaw, z=roll). */
18
31
  toEuler(): Vector3;
32
+ /** Replace every component and return this quaternion for chaining. */
19
33
  set(w: number, x: number, y: number, z: number): this;
34
+ /** Create an independent copy. */
20
35
  clone(): Quaternion;
36
+ /** Format as `Quaternion(w, x, y, z)` for logging. */
21
37
  toString(): string;
38
+ /** Convert to a plain component object for `JSON.stringify`. */
22
39
  toJSON(): { w: number; x: number; y: number; z: number };
23
40
 
41
+ /** Create the identity rotation `Quaternion(1, 0, 0, 0)`. */
24
42
  static identity(): Quaternion;
25
43
  /** From euler angles in radians. */
26
44
  static fromEuler(pitch: number, yaw: number, roll: number): Quaternion;
45
+ /** Create a rotation of `angle` radians around an axis normalized internally. */
27
46
  static fromAxisAngle(axis: Vector3, angle: number): Quaternion;
28
47
  }
29
48
  }
package/core/vector2.d.ts CHANGED
@@ -1,26 +1,45 @@
1
1
  declare namespace Core {
2
2
  class Vector2 {
3
+ /** Create a vector from its X and Y components. */
3
4
  constructor(x: number, y: number);
4
5
 
6
+ /** Mutable X component. */
5
7
  x: number;
8
+ /** Mutable Y component. */
6
9
  y: number;
10
+ /** Euclidean magnitude of this vector. */
7
11
  readonly length: number;
12
+ /** Squared magnitude, avoiding a square-root calculation. */
8
13
  readonly lengthSquared: number;
9
14
 
15
+ /** Add another vector component-wise, mutating this vector. */
10
16
  add(other: Vector2): this;
17
+ /** Subtract another vector component-wise, mutating this vector. */
11
18
  sub(other: Vector2): this;
19
+ /** Multiply both components by a scalar, mutating this vector. */
12
20
  mul(scalar: number): this;
21
+ /** Divide both components by a non-zero scalar, mutating this vector. */
13
22
  div(scalar: number): this;
23
+ /** Normalize this vector in place; a zero vector remains unchanged. */
14
24
  normalize(): this;
25
+ /** Compute the scalar dot product without changing either vector. */
15
26
  dot(other: Vector2): number;
27
+ /** Compute Euclidean distance to another vector. */
16
28
  distance(other: Vector2): number;
29
+ /** Interpolate toward `target`; `t=0` keeps this value and `t=1` reaches the target. */
17
30
  lerp(target: Vector2, t: number): this;
31
+ /** Replace both components and return this vector for chaining. */
18
32
  set(x: number, y: number): this;
33
+ /** Create an independent copy. */
19
34
  clone(): Vector2;
35
+ /** Format as `Vector2(x, y)` for logging. */
20
36
  toString(): string;
37
+ /** Convert to a plain component object for `JSON.stringify`. */
21
38
  toJSON(): { x: number; y: number };
22
39
 
40
+ /** Create `Vector2(0, 0)`. */
23
41
  static zero(): Vector2;
42
+ /** Create `Vector2(1, 1)`. */
24
43
  static one(): Vector2;
25
44
  }
26
45
  }
package/core/vector3.d.ts CHANGED
@@ -1,31 +1,55 @@
1
1
  declare namespace Core {
2
2
  class Vector3 {
3
+ /** Create a vector from its X, Y, and Z components. */
3
4
  constructor(x: number, y: number, z: number);
4
5
 
6
+ /** Mutable X component. */
5
7
  x: number;
8
+ /** Mutable Y component. */
6
9
  y: number;
10
+ /** Mutable Z component. */
7
11
  z: number;
12
+ /** Euclidean magnitude of this vector. */
8
13
  readonly length: number;
14
+ /** Squared magnitude, avoiding a square-root calculation. */
9
15
  readonly lengthSquared: number;
10
16
 
17
+ /** Add another vector component-wise, mutating this vector. */
11
18
  add(other: Vector3): this;
19
+ /** Subtract another vector component-wise, mutating this vector. */
12
20
  sub(other: Vector3): this;
21
+ /** Multiply every component by a scalar, mutating this vector. */
13
22
  mul(scalar: number): this;
23
+ /** Divide every component by a non-zero scalar, mutating this vector. */
14
24
  div(scalar: number): this;
25
+ /** Normalize this vector in place; a zero vector remains unchanged. */
15
26
  normalize(): this;
27
+ /** Compute the scalar dot product without changing either vector. */
16
28
  dot(other: Vector3): number;
29
+ /** Replace this vector with its cross product against `other`. */
17
30
  cross(other: Vector3): this;
31
+ /** Compute Euclidean distance to another vector. */
18
32
  distance(other: Vector3): number;
33
+ /** Interpolate toward `target`; `t=0` keeps this value and `t=1` reaches the target. */
19
34
  lerp(target: Vector3, t: number): this;
35
+ /** Replace all components and return this vector for chaining. */
20
36
  set(x: number, y: number, z: number): this;
37
+ /** Create an independent copy. */
21
38
  clone(): Vector3;
39
+ /** Format as `Vector3(x, y, z)` for logging. */
22
40
  toString(): string;
41
+ /** Convert to a plain component object for `JSON.stringify`. */
23
42
  toJSON(): { x: number; y: number; z: number };
24
43
 
44
+ /** Create `Vector3(0, 0, 0)`. */
25
45
  static zero(): Vector3;
46
+ /** Create `Vector3(1, 1, 1)`. */
26
47
  static one(): Vector3;
48
+ /** Create the framework's positive-Y unit direction. */
27
49
  static up(): Vector3;
50
+ /** Create the framework's positive-Z unit direction. */
28
51
  static forward(): Vector3;
52
+ /** Create the framework's positive-X unit direction. */
29
53
  static right(): Vector3;
30
54
  }
31
55
  }
package/core/vector4.d.ts CHANGED
@@ -1,28 +1,49 @@
1
1
  declare namespace Core {
2
2
  class Vector4 {
3
+ /** Create a vector from its X, Y, Z, and W components. */
3
4
  constructor(x: number, y: number, z: number, w: number);
4
5
 
6
+ /** Mutable X component. */
5
7
  x: number;
8
+ /** Mutable Y component. */
6
9
  y: number;
10
+ /** Mutable Z component. */
7
11
  z: number;
12
+ /** Mutable W component. */
8
13
  w: number;
14
+ /** Euclidean magnitude of this vector. */
9
15
  readonly length: number;
16
+ /** Squared magnitude, avoiding a square-root calculation. */
10
17
  readonly lengthSquared: number;
11
18
 
19
+ /** Add another vector component-wise, mutating this vector. */
12
20
  add(other: Vector4): this;
21
+ /** Subtract another vector component-wise, mutating this vector. */
13
22
  sub(other: Vector4): this;
23
+ /** Multiply every component by a scalar, mutating this vector. */
14
24
  mul(scalar: number): this;
25
+ /** Divide every component by a non-zero scalar, mutating this vector. */
15
26
  div(scalar: number): this;
27
+ /** Normalize this vector in place; a zero vector remains unchanged. */
16
28
  normalize(): this;
29
+ /** Compute the scalar dot product without changing either vector. */
17
30
  dot(other: Vector4): number;
31
+ /** Compute Euclidean distance to another vector. */
18
32
  distance(other: Vector4): number;
33
+ /** Interpolate toward `target`; `t=0` keeps this value and `t=1` reaches the target. */
19
34
  lerp(target: Vector4, t: number): this;
35
+ /** Replace all components and return this vector for chaining. */
20
36
  set(x: number, y: number, z: number, w: number): this;
37
+ /** Create an independent copy. */
21
38
  clone(): Vector4;
39
+ /** Format as `Vector4(x, y, z, w)` for logging. */
22
40
  toString(): string;
41
+ /** Convert to a plain component object for `JSON.stringify`. */
23
42
  toJSON(): { x: number; y: number; z: number; w: number };
24
43
 
44
+ /** Create `Vector4(0, 0, 0, 0)`. */
25
45
  static zero(): Vector4;
46
+ /** Create `Vector4(1, 1, 1, 1)`. */
26
47
  static one(): Vector4;
27
48
  }
28
49
  }
@@ -0,0 +1,153 @@
1
+ declare namespace Framework {
2
+ /** Activity verb shown before the app name. Name or the numeric Discord enum. */
3
+ type DiscordActivityType = "playing" | "streaming" | "listening" | "watching" | number;
4
+
5
+ /** Party join privacy. Name or the numeric Discord enum. */
6
+ type DiscordPartyPrivacy = "private" | "public" | number;
7
+
8
+ /** Options accepted by {@link Discord.setPresence}. Every field is optional. */
9
+ interface DiscordPresenceOptions {
10
+ /** Activity verb; defaults to `"playing"`. */
11
+ type?: DiscordActivityType;
12
+ /** Activity name. */
13
+ name?: string;
14
+ /** Top line of the presence. */
15
+ details?: string;
16
+ /** Bottom line of the presence. */
17
+ state?: string;
18
+ /** Elapsed-time anchor, unix seconds. `0` clears it. */
19
+ startTimestamp?: number;
20
+ /** Countdown anchor, unix seconds. `0` clears it. */
21
+ endTimestamp?: number;
22
+ /** Asset key of the large image. */
23
+ largeImage?: string;
24
+ /** Tooltip for the large image. */
25
+ largeText?: string;
26
+ /** Asset key of the small image (overlaps the large one). */
27
+ smallImage?: string;
28
+ /** Tooltip for the small image. */
29
+ smallText?: string;
30
+ /** Party grouping — enables Discord "X of Y" and, with a join secret, invites. */
31
+ party?: {
32
+ id?: string;
33
+ /** `[current, max]` party size. */
34
+ size?: [number, number];
35
+ privacy?: DiscordPartyPrivacy;
36
+ };
37
+ /** Invite/spectate secrets (opaque strings your game round-trips). */
38
+ secrets?: {
39
+ match?: string;
40
+ join?: string;
41
+ spectate?: string;
42
+ };
43
+ /** Whether this is an instanced (session) activity. */
44
+ instance?: boolean;
45
+ /** Supported-platform bitmask (Desktop = 1, Android = 2, iOS = 4). */
46
+ supportedPlatforms?: number;
47
+ }
48
+
49
+ /**
50
+ * Client-side Discord rich presence API. **Client only** — not available on
51
+ * the server.
52
+ *
53
+ * Field setters *stage* changes onto a pending activity; nothing is shown
54
+ * until {@link Discord.update} (or the batch {@link Discord.setPresence}) is
55
+ * called. This mirrors Discord's model — an activity is published as one whole
56
+ * object and updates are rate-limited — so compose, then commit once. All
57
+ * calls no-op (setters silently, commits return `false`) when Discord presence
58
+ * is disabled or unavailable.
59
+ *
60
+ * @example
61
+ * // Batch form — apply several fields and publish in one call:
62
+ * Framework.Discord.setPresence({
63
+ * details: "In the city",
64
+ * state: "Freeroam",
65
+ * largeImage: "map-city",
66
+ * startTimestamp: Math.floor(Date.now() / 1000),
67
+ * party: { size: [4, 32] },
68
+ * });
69
+ *
70
+ * @example
71
+ * // Granular form — stage, then commit:
72
+ * Framework.Discord.setDetails("Racing");
73
+ * Framework.Discord.setPartySize(2, 8);
74
+ * Framework.Discord.update();
75
+ */
76
+ const Discord: {
77
+ /** Stage the activity {@link DiscordActivityType type}. */
78
+ setType(type: DiscordActivityType): void;
79
+ /** Stage the activity name. */
80
+ setName(name: string): void;
81
+ /** Stage the top line. */
82
+ setDetails(details: string): void;
83
+ /** Stage the bottom line. */
84
+ setState(state: string): void;
85
+
86
+ /** Stage the elapsed-time anchor (unix seconds; `0` clears). */
87
+ setStartTimestamp(seconds: number): void;
88
+ /** Stage the countdown anchor (unix seconds; `0` clears). */
89
+ setEndTimestamp(seconds: number): void;
90
+
91
+ /** Stage the large image asset key. */
92
+ setLargeImage(assetKey: string): void;
93
+ /** Stage the large image tooltip. */
94
+ setLargeText(text: string): void;
95
+ /** Stage the small image asset key. */
96
+ setSmallImage(assetKey: string): void;
97
+ /** Stage the small image tooltip. */
98
+ setSmallText(text: string): void;
99
+ /** Stage several asset fields at once. */
100
+ setAssets(assets: { largeImage?: string; largeText?: string; smallImage?: string; smallText?: string }): void;
101
+
102
+ /** Stage the party id. */
103
+ setPartyId(id: string): void;
104
+ /** Stage the party size (current of max). */
105
+ setPartySize(current: number, max: number): void;
106
+ /** Stage the party join privacy. */
107
+ setPartyPrivacy(privacy: DiscordPartyPrivacy): void;
108
+ /** Stage several party fields at once. */
109
+ setParty(party: { id?: string; size?: [number, number]; privacy?: DiscordPartyPrivacy }): void;
110
+
111
+ /** Stage the match secret. */
112
+ setMatchSecret(secret: string): void;
113
+ /** Stage the join secret (enables Ask to Join). */
114
+ setJoinSecret(secret: string): void;
115
+ /** Stage the spectate secret. */
116
+ setSpectateSecret(secret: string): void;
117
+ /** Stage several secret fields at once. */
118
+ setSecrets(secrets: { match?: string; join?: string; spectate?: string }): void;
119
+
120
+ /** Stage the instanced flag. */
121
+ setInstance(instance: boolean): void;
122
+ /** Stage the supported-platform bitmask (Desktop = 1, Android = 2, iOS = 4). */
123
+ setSupportedPlatforms(flags: number): void;
124
+
125
+ /**
126
+ * Apply a batch of fields and publish immediately (a merge of the matching
127
+ * setters followed by {@link Discord.update}).
128
+ * @returns `true` if the update was dispatched, `false` if unavailable.
129
+ */
130
+ setPresence(options: DiscordPresenceOptions): boolean;
131
+
132
+ /**
133
+ * Publish the currently staged activity.
134
+ * @returns `true` if dispatched, `false` if unavailable.
135
+ */
136
+ update(): boolean;
137
+
138
+ /**
139
+ * Clear the activity on Discord and reset the staged state.
140
+ * @returns `true` if dispatched, `false` if unavailable.
141
+ */
142
+ clear(): boolean;
143
+
144
+ /** Reset the staged state without publishing. */
145
+ reset(): void;
146
+
147
+ /** Snowflake of the signed-in Discord user, or `""` until known. */
148
+ getUserId(): string;
149
+
150
+ /** Whether the Discord client is connected and presence can be published. */
151
+ isAvailable(): boolean;
152
+ };
153
+ }
@@ -1,12 +1,20 @@
1
1
  declare namespace Framework {
2
2
  const Exports: {
3
- /** Register a named export from the current resource. */
3
+ /**
4
+ * Register a value or function from the calling resource.
5
+ * @param name Export name, preferably declared in the resource manifest.
6
+ * @param value JavaScript value retained for dependent resources.
7
+ * @returns `true` when registration succeeds.
8
+ */
4
9
  register(name: string, value: any): boolean;
5
10
 
6
11
  /**
7
12
  * Get a specific export from another resource.
8
13
  * Throws if the resource is not found, not running, or the export
9
14
  * does not exist.
15
+ * @param resourceName Name of the running resource that owns the export.
16
+ * @param exportName Registered export name.
17
+ * @returns The exported value with its original JavaScript identity.
10
18
  */
11
19
  get(resourceName: string, exportName: string): any;
12
20
  };
@@ -3,6 +3,9 @@ declare namespace Framework {
3
3
  /**
4
4
  * Get the exports object from another resource.
5
5
  * Throws if the resource is not found or not running.
6
+ * Importing without a declared dependency produces a warning.
7
+ * @param resourceName Name of the running resource whose exports should be read.
8
+ * @returns An object keyed by export name, or an empty object when none are registered.
6
9
  */
7
10
  get(resourceName: string): Record<string, any>;
8
11
  };
@@ -1,9 +1,10 @@
1
1
  declare namespace Framework {
2
2
  const messages: {
3
3
  /**
4
- * Register a handler for incoming messages of a given type.
4
+ * Register or replace a handler owned by the calling resource.
5
+ * @param messageType Message type unique within the receiving resource.
5
6
  * @param handler Receives `(payload, reply)`. Call `reply(value)`
6
- * to send a response back to the requester.
7
+ * once to resolve a request; replies are ignored for fire-and-forget messages.
7
8
  */
8
9
  handle(
9
10
  messageType: string,
@@ -13,10 +14,19 @@ declare namespace Framework {
13
14
  /**
14
15
  * Send a request to another resource and await a reply.
15
16
  * Rejects if the target resource has no handler or the handler throws.
17
+ * @param resourceName Destination running resource.
18
+ * @param messageType Handler type registered by the destination.
19
+ * @param payload Optional value delivered to the handler.
20
+ * @returns A promise resolved with the value passed to `reply`.
16
21
  */
17
22
  request(resourceName: string, messageType: string, payload?: any): Promise<any>;
18
23
 
19
- /** Fire-and-forget message to another resource. */
24
+ /**
25
+ * Send a fire-and-forget message to another local resource.
26
+ * @param resourceName Destination running resource.
27
+ * @param messageType Handler type registered by the destination.
28
+ * @param payload Optional value delivered to the handler.
29
+ */
20
30
  send(resourceName: string, messageType: string, payload?: any): void;
21
31
  };
22
32
  }
package/index.d.ts CHANGED
@@ -8,3 +8,4 @@
8
8
  /// <reference path="framework/imports.d.ts" />
9
9
  /// <reference path="framework/exports.d.ts" />
10
10
  /// <reference path="framework/key.d.ts" />
11
+ /// <reference path="framework/discord.d.ts" />
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mafiahub/types",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "TypeScript type definitions for the MafiaHub Framework scripting API",
5
5
  "types": "index.d.ts",
6
6
  "files": [