-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathindex.d.ts
65 lines (60 loc) · 1.95 KB
/
index.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import { Client as DiscordClient, Guild, Permissions } from "discord.js";
import EventEmitter from "events";
export default Dashboard;
export { Options };
declare type Client = DiscordClient & { [key: string]: any };
declare class Dashboard extends EventEmitter {
constructor(client: Client, options: Options);
config: Config;
registerCommand(name: string, description: string, usage: string): void;
addTextInput(
name: string,
description: string,
validator: (value: any) => boolean,
setter: (client: Client, guild: Guild, value: string) => void,
getter: (client: Client, guild: Guild) => string | Promise<string>
): void;
addBooleanInput(
name: string,
description: string,
setter: (client: Client, guild: Guild, value: boolean) => void,
getter: (client: Client, guild: Guild) => boolean | Promise<boolean>
): void;
addSelector(
name: string,
description: string,
getSelectorEntries: (
client: Client,
guild: Guild
) => [string, string][] | Promise<[string, string][]>,
setter: (client: Client, guild: Guild, value: boolean) => void,
getter: (client: Client, guild: Guild) => boolean | Promise<boolean>
): void;
addColorInput(
name: string,
description: string,
setter: (client: Client, guild: Guild, value: string) => void,
getter: (client: Client, guild: Guild) => string | Promise<string>
): void;
}
declare interface Options {
name?: string;
description?: string;
serverUrl?: string;
inviteUrl?: string;
baseUrl?: string;
port?: number;
secret: string;
logRequests?: boolean;
injectCSS?: string;
faviconPath?: string;
}
declare interface Config {
baseUrl: string;
port: number;
noPortIncallbackUrl: boolean;
secret: string;
logRequests: boolean;
theme: string | object;
permissions: Permissions[]
}