A FoundryVTT module for playing at an in-person table.
1/// <reference types="svelte" />
2/// <reference types="vite/client" />
3
4declare module "*.svelte" {
5 import { SvelteComponentTyped } from "svelte";
6 export default class SvelteComponent extends SvelteComponentTyped<
7 Record<string, any>,
8 Record<string, any>,
9 Record<string, any>
10 > {}
11}
12
13declare interface SocketLib {
14 registerModule: (moduleName: string) => Socket
15}
16
17declare interface Socket {
18 register: (name: string, func: (...args: any[]) => any) => void,
19 executeAsGM: (handler: string, ...args: any[]) => Promise<any>,
20 executeAsUser: (handler: string, userId: string, ...parameters: any[]) => Promise<any>,
21 executeForAllGMs: (handler: string, ...parameters: any[]) => Promise<any>,
22 executeForOtherGMs: (handler: string, ...parameters: any[]) => Promise<any>,
23 executeForEveryone: (handler: string, ...args: any[]) => Promise<any>,
24 executeForOthers: (handler: string, ...args: any[]) => Promise<any>,
25 executeForUsers: (handler: string, recipients: string[], ...parameters: any[]) => Promise<any>
26}
27
28declare var socketlib: SocketLib;