kira-arts 1.0.0

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.
@@ -0,0 +1,294 @@
1
+ import { Client, AttachmentBuilder } from 'discord.js';
2
+ import { Canvas, SKRSContext2D, Image } from '@napi-rs/canvas';
3
+
4
+ type PresenceStatus = "online" | "idle" | "offline" | "dnd" | "invisible" | "streaming" | "phone";
5
+ type BorderAlign = "horizontal" | "vertical";
6
+ type ColorValue$1 = string | number;
7
+ type ColorInput = ColorValue$1 | ColorValue$1[];
8
+ type OutputFormat = "png" | "jpeg" | "webp";
9
+ interface OutputOptions {
10
+ format?: OutputFormat;
11
+ quality?: number;
12
+ }
13
+ declare enum KiraErrorCode {
14
+ Validation = "VALIDATION",
15
+ Fetch = "FETCH",
16
+ AssetLoad = "ASSET_LOAD",
17
+ Render = "RENDER",
18
+ Config = "CONFIG"
19
+ }
20
+
21
+ type KiraThemeName = "discord" | "midnight" | "sunset" | "neon" | "forest" | "sakura" | "monochrome" | "gold";
22
+ interface KiraThemePalette {
23
+ accentColor: string;
24
+ borderColor: string[];
25
+ usernameColor: string;
26
+ tagColor: string;
27
+ messageColor: string;
28
+ levelColor: string;
29
+ barColor: string[];
30
+ glowColor: string;
31
+ heartColor: string;
32
+ }
33
+ type KiraNameplatePalette = "berry" | "bubble_gum" | "clover" | "cobalt" | "crimson" | "forest" | "lemon" | "sky" | "teal" | "violet" | "white";
34
+
35
+ interface KiraBadge {
36
+ name: string;
37
+ icon: string;
38
+ }
39
+ interface KiraNameplate {
40
+ imageURL: string;
41
+ palette: KiraNameplatePalette;
42
+ }
43
+ interface KiraServerTag {
44
+ text: string;
45
+ badgeURL: string | null;
46
+ }
47
+ interface KiraUserBasicInfo {
48
+ id: string;
49
+ username: string;
50
+ globalName: string | null;
51
+ discriminator: string | null;
52
+ bot: boolean;
53
+ verified: boolean;
54
+ createdTimestamp: number;
55
+ }
56
+ interface KiraUserAssets {
57
+ avatarURL: string | null;
58
+ defaultAvatarURL: string;
59
+ bannerURL: string | null;
60
+ badges: KiraBadge[];
61
+ }
62
+ interface KiraUserDecoration {
63
+ avatarFrame: string | null;
64
+ profileColors: string[] | null;
65
+ roleColor: string | null;
66
+ nameplate: KiraNameplate | null;
67
+ serverTag: KiraServerTag | null;
68
+ }
69
+ interface KiraUserData {
70
+ basicInfo: KiraUserBasicInfo;
71
+ assets: KiraUserAssets;
72
+ decoration: KiraUserDecoration;
73
+ }
74
+
75
+ interface RankOptions {
76
+ currentXp: number;
77
+ requiredXp: number;
78
+ level: number;
79
+ rank?: number;
80
+ barColor?: ColorInput;
81
+ levelColor?: string;
82
+ autoColorRank?: boolean;
83
+ }
84
+ interface MemberEventOptions {
85
+ message?: string;
86
+ memberCount?: number;
87
+ customBackground?: string;
88
+ borderColor?: ColorInput;
89
+ removeBorder?: boolean;
90
+ useNitroTheme?: boolean;
91
+ useRoleColor?: boolean;
92
+ accentColor?: string;
93
+ usernameColor?: string;
94
+ messageColor?: string;
95
+ showDate?: boolean;
96
+ date?: Date | string;
97
+ localDateType?: string;
98
+ guildId?: string;
99
+ bypassCache?: boolean;
100
+ fontScale?: number;
101
+ showAvatarDecoration?: boolean;
102
+ avatarBorderColor?: string;
103
+ showServerTag?: boolean;
104
+ showBadges?: boolean;
105
+ maxBadges?: number;
106
+ usernameEffect?: "shadow" | "glow";
107
+ messageEffect?: "shadow" | "glow";
108
+ glowColor?: string;
109
+ theme?: KiraThemeName;
110
+ output?: OutputOptions;
111
+ }
112
+ type AchievementRarity = "common" | "rare" | "epic" | "legendary";
113
+ interface AchievementOptions {
114
+ description?: string;
115
+ iconUrl?: string;
116
+ rarity?: AchievementRarity;
117
+ accentColor?: string;
118
+ borderColor?: ColorInput;
119
+ removeBorder?: boolean;
120
+ useNitroTheme?: boolean;
121
+ useRoleColor?: boolean;
122
+ customBackground?: string;
123
+ progressText?: string;
124
+ showUsername?: boolean;
125
+ guildId?: string;
126
+ bypassCache?: boolean;
127
+ theme?: KiraThemeName;
128
+ output?: OutputOptions;
129
+ }
130
+ interface ShipOptions {
131
+ leftImage?: string;
132
+ rightImage?: string;
133
+ percentage?: number;
134
+ message?: string;
135
+ accentColor?: string;
136
+ borderColor?: ColorInput;
137
+ removeBorder?: boolean;
138
+ useNitroTheme?: boolean;
139
+ useRoleColor?: boolean;
140
+ customBackground?: string;
141
+ heartColor?: string;
142
+ shipName?: string;
143
+ showText?: boolean;
144
+ guildId?: string;
145
+ bypassCache?: boolean;
146
+ theme?: KiraThemeName;
147
+ output?: OutputOptions;
148
+ }
149
+ interface LevelUpOptions {
150
+ message?: string;
151
+ currentXp?: number;
152
+ requiredXp?: number;
153
+ customBackground?: string;
154
+ backgroundTint?: boolean;
155
+ borderColor?: ColorInput;
156
+ removeBorder?: boolean;
157
+ useNitroTheme?: boolean;
158
+ useRoleColor?: boolean;
159
+ accentColor?: string;
160
+ barColor?: ColorInput;
161
+ barBackgroundColor?: string;
162
+ levelColor?: string;
163
+ usernameColor?: string;
164
+ messageColor?: string;
165
+ kickerColor?: string;
166
+ xpColor?: string;
167
+ avatarBorderColor?: string;
168
+ showAvatarDecoration?: boolean;
169
+ showBadges?: boolean;
170
+ maxBadges?: number;
171
+ guildId?: string;
172
+ bypassCache?: boolean;
173
+ theme?: KiraThemeName;
174
+ output?: OutputOptions;
175
+ }
176
+ interface LeaderboardEntry {
177
+ userId: string;
178
+ currentXp: number;
179
+ requiredXp: number;
180
+ level: number;
181
+ rank?: number;
182
+ }
183
+ interface LeaderboardOptions {
184
+ title?: string;
185
+ subtitle?: string;
186
+ barColor?: ColorInput;
187
+ levelColor?: string;
188
+ usernameColor?: string;
189
+ accentColor?: string;
190
+ borderColor?: ColorInput;
191
+ removeBorder?: boolean;
192
+ useNitroTheme?: boolean;
193
+ useRoleColor?: boolean;
194
+ backgroundImage?: string;
195
+ guildId?: string;
196
+ bypassCache?: boolean;
197
+ maxEntries?: number;
198
+ theme?: KiraThemeName;
199
+ output?: OutputOptions;
200
+ }
201
+ interface ProfileOptions {
202
+ customUsername?: string;
203
+ customTag?: string;
204
+ compactTag?: boolean;
205
+ customSubtitle?: string;
206
+ color?: string;
207
+ useRoleColor?: boolean;
208
+ guildId?: string;
209
+ bypassCache?: boolean;
210
+ customBadges?: string[];
211
+ customBackground?: string;
212
+ overwriteBadges?: boolean;
213
+ usernameColor?: string;
214
+ tagColor?: string;
215
+ borderColor?: ColorInput;
216
+ borderAllign?: BorderAlign;
217
+ disableProfileTheme?: boolean;
218
+ disableBackgroundBlur?: boolean;
219
+ badgesFrame?: boolean;
220
+ removeBadges?: boolean;
221
+ removeBorder?: boolean;
222
+ presenceStatus?: PresenceStatus;
223
+ squareAvatar?: boolean;
224
+ moreBackgroundBlur?: boolean;
225
+ backgroundBrightness?: number;
226
+ customDate?: Date | string;
227
+ localDateType?: string;
228
+ removeAvatarFrame?: boolean;
229
+ removeNameplate?: boolean;
230
+ removeServerTag?: boolean;
231
+ rankData?: RankOptions;
232
+ theme?: KiraThemeName;
233
+ output?: OutputOptions;
234
+ }
235
+
236
+ declare function profileImage(userId: string, options?: ProfileOptions): Promise<Buffer>;
237
+
238
+ declare function leaderboardImage(entries: LeaderboardEntry[], options?: LeaderboardOptions): Promise<Buffer>;
239
+
240
+ declare function welcomeImage(userId: string, guildName: string, options?: MemberEventOptions): Promise<Buffer>;
241
+
242
+ declare function leaveImage(userId: string, guildName: string, options?: MemberEventOptions): Promise<Buffer>;
243
+
244
+ declare function levelUpImage(userId: string, level: number, options?: LevelUpOptions): Promise<Buffer>;
245
+
246
+ declare function achievementImage(userId: string, title: string, options?: AchievementOptions): Promise<Buffer>;
247
+
248
+ declare function shipImage(leftUserId: string, rightUserId: string, options?: ShipOptions): Promise<Buffer>;
249
+
250
+ declare function computeCompatibility(leftId: string, rightId: string): number;
251
+ declare function pickShipMessage(leftId: string, rightId: string, percentage: number): string;
252
+
253
+ declare function setClient(client: Client): void;
254
+
255
+ interface KiraCacheOptions {
256
+ enabled?: boolean;
257
+ ttl?: number;
258
+ }
259
+ declare function setCacheOptions(options: KiraCacheOptions): void;
260
+ declare function clearCache(userId?: string, guildId?: string): void;
261
+ declare function getCacheSize(): number;
262
+
263
+ declare class KiraError extends Error {
264
+ readonly code: KiraErrorCode;
265
+ constructor(message?: string, code?: KiraErrorCode);
266
+ }
267
+
268
+ declare function toAttachment(buffer: Buffer, name?: string, format?: OutputFormat): AttachmentBuilder;
269
+
270
+ declare function encodeCanvas(canvas: Canvas, output?: OutputOptions): Promise<Buffer>;
271
+ declare function extensionForFormat(format?: OutputFormat): string;
272
+
273
+ declare const THEMES: Record<KiraThemeName, KiraThemePalette>;
274
+ declare function getThemePalette(theme?: KiraThemeName): KiraThemePalette | undefined;
275
+
276
+ declare function parseImg(imgString: string): string;
277
+ declare function parsePng(imgString: string): string;
278
+ type ColorValue = string | number;
279
+ declare function decimalToHex(decimal: number): string;
280
+ declare function parseHex(input: ColorValue): string;
281
+ declare function isString(param: unknown, type: string): string;
282
+ declare function isNumber(param: unknown, type: string): number;
283
+
284
+ declare function loadImageSafe(url: string | undefined, attempts?: number, timeoutMs?: number): Promise<Image | undefined>;
285
+ declare function hexToRgb(hex: string): {
286
+ r: number;
287
+ g: number;
288
+ b: number;
289
+ };
290
+ declare function hexToRgba(hex: string, alpha: number): string;
291
+ declare function drawGradientBorder(ctx: SKRSContext2D, width: number, height: number, colors: string[], cornerRadius: number, thickness?: number): void;
292
+ declare function drawCoverImage(ctx: SKRSContext2D, image: Image, x: number, y: number, w: number, h: number): void;
293
+
294
+ export { type AchievementOptions, type AchievementRarity, type BorderAlign, type ColorInput, type ColorValue$1 as ColorValue, type KiraBadge, type KiraCacheOptions, KiraError, KiraErrorCode, type KiraNameplate, type KiraNameplatePalette, type KiraServerTag, type KiraThemeName, type KiraThemePalette, type KiraUserData, type LeaderboardEntry, type LeaderboardOptions, type LevelUpOptions, type MemberEventOptions, type OutputFormat, type OutputOptions, type PresenceStatus, type ProfileOptions, type RankOptions, type ShipOptions, THEMES, achievementImage, clearCache, computeCompatibility, decimalToHex, drawCoverImage, drawGradientBorder, encodeCanvas, extensionForFormat, getCacheSize, getThemePalette, hexToRgb, hexToRgba, isNumber, isString, leaderboardImage, leaveImage, levelUpImage, loadImageSafe, parseHex, parseImg, parsePng, pickShipMessage, profileImage, setCacheOptions, setClient, shipImage, toAttachment, welcomeImage };
@@ -0,0 +1,294 @@
1
+ import { Client, AttachmentBuilder } from 'discord.js';
2
+ import { Canvas, SKRSContext2D, Image } from '@napi-rs/canvas';
3
+
4
+ type PresenceStatus = "online" | "idle" | "offline" | "dnd" | "invisible" | "streaming" | "phone";
5
+ type BorderAlign = "horizontal" | "vertical";
6
+ type ColorValue$1 = string | number;
7
+ type ColorInput = ColorValue$1 | ColorValue$1[];
8
+ type OutputFormat = "png" | "jpeg" | "webp";
9
+ interface OutputOptions {
10
+ format?: OutputFormat;
11
+ quality?: number;
12
+ }
13
+ declare enum KiraErrorCode {
14
+ Validation = "VALIDATION",
15
+ Fetch = "FETCH",
16
+ AssetLoad = "ASSET_LOAD",
17
+ Render = "RENDER",
18
+ Config = "CONFIG"
19
+ }
20
+
21
+ type KiraThemeName = "discord" | "midnight" | "sunset" | "neon" | "forest" | "sakura" | "monochrome" | "gold";
22
+ interface KiraThemePalette {
23
+ accentColor: string;
24
+ borderColor: string[];
25
+ usernameColor: string;
26
+ tagColor: string;
27
+ messageColor: string;
28
+ levelColor: string;
29
+ barColor: string[];
30
+ glowColor: string;
31
+ heartColor: string;
32
+ }
33
+ type KiraNameplatePalette = "berry" | "bubble_gum" | "clover" | "cobalt" | "crimson" | "forest" | "lemon" | "sky" | "teal" | "violet" | "white";
34
+
35
+ interface KiraBadge {
36
+ name: string;
37
+ icon: string;
38
+ }
39
+ interface KiraNameplate {
40
+ imageURL: string;
41
+ palette: KiraNameplatePalette;
42
+ }
43
+ interface KiraServerTag {
44
+ text: string;
45
+ badgeURL: string | null;
46
+ }
47
+ interface KiraUserBasicInfo {
48
+ id: string;
49
+ username: string;
50
+ globalName: string | null;
51
+ discriminator: string | null;
52
+ bot: boolean;
53
+ verified: boolean;
54
+ createdTimestamp: number;
55
+ }
56
+ interface KiraUserAssets {
57
+ avatarURL: string | null;
58
+ defaultAvatarURL: string;
59
+ bannerURL: string | null;
60
+ badges: KiraBadge[];
61
+ }
62
+ interface KiraUserDecoration {
63
+ avatarFrame: string | null;
64
+ profileColors: string[] | null;
65
+ roleColor: string | null;
66
+ nameplate: KiraNameplate | null;
67
+ serverTag: KiraServerTag | null;
68
+ }
69
+ interface KiraUserData {
70
+ basicInfo: KiraUserBasicInfo;
71
+ assets: KiraUserAssets;
72
+ decoration: KiraUserDecoration;
73
+ }
74
+
75
+ interface RankOptions {
76
+ currentXp: number;
77
+ requiredXp: number;
78
+ level: number;
79
+ rank?: number;
80
+ barColor?: ColorInput;
81
+ levelColor?: string;
82
+ autoColorRank?: boolean;
83
+ }
84
+ interface MemberEventOptions {
85
+ message?: string;
86
+ memberCount?: number;
87
+ customBackground?: string;
88
+ borderColor?: ColorInput;
89
+ removeBorder?: boolean;
90
+ useNitroTheme?: boolean;
91
+ useRoleColor?: boolean;
92
+ accentColor?: string;
93
+ usernameColor?: string;
94
+ messageColor?: string;
95
+ showDate?: boolean;
96
+ date?: Date | string;
97
+ localDateType?: string;
98
+ guildId?: string;
99
+ bypassCache?: boolean;
100
+ fontScale?: number;
101
+ showAvatarDecoration?: boolean;
102
+ avatarBorderColor?: string;
103
+ showServerTag?: boolean;
104
+ showBadges?: boolean;
105
+ maxBadges?: number;
106
+ usernameEffect?: "shadow" | "glow";
107
+ messageEffect?: "shadow" | "glow";
108
+ glowColor?: string;
109
+ theme?: KiraThemeName;
110
+ output?: OutputOptions;
111
+ }
112
+ type AchievementRarity = "common" | "rare" | "epic" | "legendary";
113
+ interface AchievementOptions {
114
+ description?: string;
115
+ iconUrl?: string;
116
+ rarity?: AchievementRarity;
117
+ accentColor?: string;
118
+ borderColor?: ColorInput;
119
+ removeBorder?: boolean;
120
+ useNitroTheme?: boolean;
121
+ useRoleColor?: boolean;
122
+ customBackground?: string;
123
+ progressText?: string;
124
+ showUsername?: boolean;
125
+ guildId?: string;
126
+ bypassCache?: boolean;
127
+ theme?: KiraThemeName;
128
+ output?: OutputOptions;
129
+ }
130
+ interface ShipOptions {
131
+ leftImage?: string;
132
+ rightImage?: string;
133
+ percentage?: number;
134
+ message?: string;
135
+ accentColor?: string;
136
+ borderColor?: ColorInput;
137
+ removeBorder?: boolean;
138
+ useNitroTheme?: boolean;
139
+ useRoleColor?: boolean;
140
+ customBackground?: string;
141
+ heartColor?: string;
142
+ shipName?: string;
143
+ showText?: boolean;
144
+ guildId?: string;
145
+ bypassCache?: boolean;
146
+ theme?: KiraThemeName;
147
+ output?: OutputOptions;
148
+ }
149
+ interface LevelUpOptions {
150
+ message?: string;
151
+ currentXp?: number;
152
+ requiredXp?: number;
153
+ customBackground?: string;
154
+ backgroundTint?: boolean;
155
+ borderColor?: ColorInput;
156
+ removeBorder?: boolean;
157
+ useNitroTheme?: boolean;
158
+ useRoleColor?: boolean;
159
+ accentColor?: string;
160
+ barColor?: ColorInput;
161
+ barBackgroundColor?: string;
162
+ levelColor?: string;
163
+ usernameColor?: string;
164
+ messageColor?: string;
165
+ kickerColor?: string;
166
+ xpColor?: string;
167
+ avatarBorderColor?: string;
168
+ showAvatarDecoration?: boolean;
169
+ showBadges?: boolean;
170
+ maxBadges?: number;
171
+ guildId?: string;
172
+ bypassCache?: boolean;
173
+ theme?: KiraThemeName;
174
+ output?: OutputOptions;
175
+ }
176
+ interface LeaderboardEntry {
177
+ userId: string;
178
+ currentXp: number;
179
+ requiredXp: number;
180
+ level: number;
181
+ rank?: number;
182
+ }
183
+ interface LeaderboardOptions {
184
+ title?: string;
185
+ subtitle?: string;
186
+ barColor?: ColorInput;
187
+ levelColor?: string;
188
+ usernameColor?: string;
189
+ accentColor?: string;
190
+ borderColor?: ColorInput;
191
+ removeBorder?: boolean;
192
+ useNitroTheme?: boolean;
193
+ useRoleColor?: boolean;
194
+ backgroundImage?: string;
195
+ guildId?: string;
196
+ bypassCache?: boolean;
197
+ maxEntries?: number;
198
+ theme?: KiraThemeName;
199
+ output?: OutputOptions;
200
+ }
201
+ interface ProfileOptions {
202
+ customUsername?: string;
203
+ customTag?: string;
204
+ compactTag?: boolean;
205
+ customSubtitle?: string;
206
+ color?: string;
207
+ useRoleColor?: boolean;
208
+ guildId?: string;
209
+ bypassCache?: boolean;
210
+ customBadges?: string[];
211
+ customBackground?: string;
212
+ overwriteBadges?: boolean;
213
+ usernameColor?: string;
214
+ tagColor?: string;
215
+ borderColor?: ColorInput;
216
+ borderAllign?: BorderAlign;
217
+ disableProfileTheme?: boolean;
218
+ disableBackgroundBlur?: boolean;
219
+ badgesFrame?: boolean;
220
+ removeBadges?: boolean;
221
+ removeBorder?: boolean;
222
+ presenceStatus?: PresenceStatus;
223
+ squareAvatar?: boolean;
224
+ moreBackgroundBlur?: boolean;
225
+ backgroundBrightness?: number;
226
+ customDate?: Date | string;
227
+ localDateType?: string;
228
+ removeAvatarFrame?: boolean;
229
+ removeNameplate?: boolean;
230
+ removeServerTag?: boolean;
231
+ rankData?: RankOptions;
232
+ theme?: KiraThemeName;
233
+ output?: OutputOptions;
234
+ }
235
+
236
+ declare function profileImage(userId: string, options?: ProfileOptions): Promise<Buffer>;
237
+
238
+ declare function leaderboardImage(entries: LeaderboardEntry[], options?: LeaderboardOptions): Promise<Buffer>;
239
+
240
+ declare function welcomeImage(userId: string, guildName: string, options?: MemberEventOptions): Promise<Buffer>;
241
+
242
+ declare function leaveImage(userId: string, guildName: string, options?: MemberEventOptions): Promise<Buffer>;
243
+
244
+ declare function levelUpImage(userId: string, level: number, options?: LevelUpOptions): Promise<Buffer>;
245
+
246
+ declare function achievementImage(userId: string, title: string, options?: AchievementOptions): Promise<Buffer>;
247
+
248
+ declare function shipImage(leftUserId: string, rightUserId: string, options?: ShipOptions): Promise<Buffer>;
249
+
250
+ declare function computeCompatibility(leftId: string, rightId: string): number;
251
+ declare function pickShipMessage(leftId: string, rightId: string, percentage: number): string;
252
+
253
+ declare function setClient(client: Client): void;
254
+
255
+ interface KiraCacheOptions {
256
+ enabled?: boolean;
257
+ ttl?: number;
258
+ }
259
+ declare function setCacheOptions(options: KiraCacheOptions): void;
260
+ declare function clearCache(userId?: string, guildId?: string): void;
261
+ declare function getCacheSize(): number;
262
+
263
+ declare class KiraError extends Error {
264
+ readonly code: KiraErrorCode;
265
+ constructor(message?: string, code?: KiraErrorCode);
266
+ }
267
+
268
+ declare function toAttachment(buffer: Buffer, name?: string, format?: OutputFormat): AttachmentBuilder;
269
+
270
+ declare function encodeCanvas(canvas: Canvas, output?: OutputOptions): Promise<Buffer>;
271
+ declare function extensionForFormat(format?: OutputFormat): string;
272
+
273
+ declare const THEMES: Record<KiraThemeName, KiraThemePalette>;
274
+ declare function getThemePalette(theme?: KiraThemeName): KiraThemePalette | undefined;
275
+
276
+ declare function parseImg(imgString: string): string;
277
+ declare function parsePng(imgString: string): string;
278
+ type ColorValue = string | number;
279
+ declare function decimalToHex(decimal: number): string;
280
+ declare function parseHex(input: ColorValue): string;
281
+ declare function isString(param: unknown, type: string): string;
282
+ declare function isNumber(param: unknown, type: string): number;
283
+
284
+ declare function loadImageSafe(url: string | undefined, attempts?: number, timeoutMs?: number): Promise<Image | undefined>;
285
+ declare function hexToRgb(hex: string): {
286
+ r: number;
287
+ g: number;
288
+ b: number;
289
+ };
290
+ declare function hexToRgba(hex: string, alpha: number): string;
291
+ declare function drawGradientBorder(ctx: SKRSContext2D, width: number, height: number, colors: string[], cornerRadius: number, thickness?: number): void;
292
+ declare function drawCoverImage(ctx: SKRSContext2D, image: Image, x: number, y: number, w: number, h: number): void;
293
+
294
+ export { type AchievementOptions, type AchievementRarity, type BorderAlign, type ColorInput, type ColorValue$1 as ColorValue, type KiraBadge, type KiraCacheOptions, KiraError, KiraErrorCode, type KiraNameplate, type KiraNameplatePalette, type KiraServerTag, type KiraThemeName, type KiraThemePalette, type KiraUserData, type LeaderboardEntry, type LeaderboardOptions, type LevelUpOptions, type MemberEventOptions, type OutputFormat, type OutputOptions, type PresenceStatus, type ProfileOptions, type RankOptions, type ShipOptions, THEMES, achievementImage, clearCache, computeCompatibility, decimalToHex, drawCoverImage, drawGradientBorder, encodeCanvas, extensionForFormat, getCacheSize, getThemePalette, hexToRgb, hexToRgba, isNumber, isString, leaderboardImage, leaveImage, levelUpImage, loadImageSafe, parseHex, parseImg, parsePng, pickShipMessage, profileImage, setCacheOptions, setClient, shipImage, toAttachment, welcomeImage };