@plexcord/types 1.18.6 → 1.19.1

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.
Files changed (88) hide show
  1. package/PlexcordNative.d.ts +6 -2
  2. package/api/Badges.d.ts +2 -1
  3. package/api/HeaderBar.d.ts +94 -21
  4. package/api/PluginManager.d.ts +1 -0
  5. package/api/Settings.d.ts +1 -1
  6. package/api/SettingsSync/offline.d.ts +0 -9
  7. package/api/Styles.d.ts +18 -20
  8. package/api/UserArea.d.ts +38 -0
  9. package/api/index.d.ts +5 -0
  10. package/components/BaseText.d.ts +2 -3
  11. package/components/Flex.d.ts +2 -1
  12. package/components/Heart.d.ts +5 -1
  13. package/components/TooltipContainer.d.ts +4 -0
  14. package/components/TooltipFallback.d.ts +3 -0
  15. package/components/settings/tabs/plugins/components/Common.d.ts +1 -1
  16. package/components/settings/tabs/plugins/index.d.ts +1 -1
  17. package/locales/en.d.ts +114 -50
  18. package/package.json +1 -1
  19. package/plugins/_api/badges/index.d.ts +3 -11
  20. package/plugins/_api/nicknameIcons.d.ts +1 -1
  21. package/plugins/{questCompleter/index.d.ts → _api/userArea.d.ts} +6 -3
  22. package/plugins/_core/settings.d.ts +60 -11
  23. package/plugins/_core/supportHelper.d.ts +10 -0
  24. package/plugins/allCallTimers/index.d.ts +1 -1
  25. package/plugins/betterActivities/utils.d.ts +1 -1
  26. package/plugins/betterInvites/index.d.ts +2 -1
  27. package/plugins/customRPC/index.d.ts +3 -3
  28. package/plugins/decor/ui/index.d.ts +1 -1
  29. package/plugins/fakeNitro/index.d.ts +3 -3
  30. package/plugins/fixImagesQuality/index.d.ts +24 -0
  31. package/plugins/followUser/index.d.ts +7 -8
  32. package/plugins/friendsSince/index.d.ts +1 -0
  33. package/plugins/friendshipRanks/index.d.ts +1 -0
  34. package/plugins/fullVcPfp/index.d.ts +0 -10
  35. package/plugins/gameActivityToggle/index.d.ts +9 -11
  36. package/plugins/githubRepos/index.d.ts +1 -1
  37. package/plugins/holyNotes/index.d.ts +6 -8
  38. package/plugins/instantScreenshare/index.d.ts +37 -2
  39. package/plugins/instantScreenshare/utils.d.ts +26 -0
  40. package/plugins/jumpTo/index.d.ts +3 -1
  41. package/plugins/loginWithQR/ui/index.d.ts +1 -1
  42. package/plugins/memberCount/OnlineMemberCountStore.d.ts +3 -3
  43. package/plugins/memberCount/index.d.ts +1 -4
  44. package/plugins/messageLoggerEnhanced/LoggedMessageManager.d.ts +1 -1
  45. package/plugins/messageLoggerEnhanced/db.d.ts +2 -0
  46. package/plugins/messageLoggerEnhanced/index.d.ts +31 -1
  47. package/plugins/messageLoggerEnhanced/settings.d.ts +24 -0
  48. package/plugins/musicControls/spotify/SpotifyStore.d.ts +3 -3
  49. package/plugins/musicControls/spotify/lyrics/components/util.d.ts +1 -1
  50. package/plugins/musicControls/spotify/lyrics/providers/store.d.ts +3 -3
  51. package/plugins/musicControls/tidal/lyrics/components/util.d.ts +1 -1
  52. package/plugins/musicControls/tidal/lyrics/providers/store.d.ts +3 -3
  53. package/plugins/permissionsViewer/index.d.ts +5 -2
  54. package/plugins/permissionsViewer/utils.d.ts +1 -1
  55. package/plugins/petpet/index.d.ts +1 -1
  56. package/plugins/plexcordToolbox/index.d.ts +7 -9
  57. package/plugins/questify/index.d.ts +16 -2
  58. package/plugins/questify/native.d.ts +5 -0
  59. package/plugins/questify/settings.d.ts +14 -0
  60. package/plugins/questify/utils/components.d.ts +8 -0
  61. package/plugins/questify/utils/misc.d.ts +2 -1
  62. package/plugins/randomVoice/index.d.ts +9 -10
  63. package/plugins/relationshipNotifier/types.d.ts +0 -6
  64. package/plugins/reviewDB/utils.d.ts +1 -1
  65. package/plugins/roleColorEverywhere/index.d.ts +2 -2
  66. package/plugins/shikiCodeblocks.desktop/utils/misc.d.ts +1 -1
  67. package/plugins/showHiddenChannels/index.d.ts +1 -1
  68. package/plugins/sidebarChat/store.d.ts +3 -3
  69. package/plugins/soundBoardLogger/index.d.ts +6 -9
  70. package/plugins/soundBoardLogger/utils.d.ts +1 -1
  71. package/plugins/spotifyActivityToggle/index.d.ts +25 -11
  72. package/plugins/streamingCodecDisabler/index.d.ts +1 -1
  73. package/plugins/toastNotifications/types.d.ts +0 -6
  74. package/plugins/translate/utils.d.ts +1 -1
  75. package/plugins/usrbg/index.d.ts +8 -0
  76. package/plugins/voiceChannelLog.dev/index.d.ts +1 -1
  77. package/plugins/voiceMessages/index.d.ts +1 -1
  78. package/plugins/wallpaperFree/store.d.ts +3 -3
  79. package/shared/IpcEvents.d.ts +6 -5
  80. package/utils/css.d.ts +13 -1
  81. package/utils/intlHash.d.ts +0 -1
  82. package/utils/types.d.ts +8 -2
  83. package/utils/web-metadata.d.ts +3 -1
  84. package/webpack/common/components.d.ts +3 -39
  85. package/webpack/common/internal.d.ts +2 -1
  86. package/webpack/common/stores.d.ts +25 -6
  87. package/components/css.d.ts +0 -1
  88. package/plugins/questFocused/index.d.ts +0 -17
@@ -1,8 +1,9 @@
1
1
  import type { Settings } from "./api/Settings";
2
- import { CspRequestResult } from "./main/csp/manager";
2
+ import type { CspRequestResult } from "./main/csp/manager";
3
3
  import type { UserThemeHeader } from "./main/themes";
4
4
  import { IpcEvents } from "./shared/IpcEvents";
5
- import { IpcRes } from "./utils/types";
5
+ import type { IpcRes } from "./utils/types";
6
+ export declare function invoke<T = any>(event: IpcEvents, ...args: any[]): Promise<T>;
6
7
  export declare function sendSync<T = any>(event: IpcEvents, ...args: any[]): T;
7
8
  declare const _default: {
8
9
  themes: {
@@ -33,10 +34,13 @@ declare const _default: {
33
34
  addThemeChangeListener(cb: () => void): void;
34
35
  openFile: () => Promise<void>;
35
36
  openEditor: () => Promise<void>;
37
+ getEditorTheme: () => string;
36
38
  };
37
39
  native: {
38
40
  getVersions: () => Partial<NodeJS.ProcessVersions>;
39
41
  openExternal: (url: string) => Promise<void>;
42
+ getRendererCss: () => Promise<string>;
43
+ onRendererCssUpdate: (cb: (newCss: string) => void) => void;
40
44
  };
41
45
  i18n: {
42
46
  updateMainLocale: (locale?: string) => Promise<boolean>;
package/api/Badges.d.ts CHANGED
@@ -24,7 +24,8 @@ export interface ProfileBadge {
24
24
  /** The badge name to display, Discord uses this. Required for component badges */
25
25
  key?: string;
26
26
  /**
27
- * Allows dynamically returning multiple badges
27
+ * Allows dynamically returning multiple badges.
28
+ * May call hooks but then you must not use shouldShow
28
29
  */
29
30
  getBadges?(userInfo: BadgeUserArgs): ProfileBadge[];
30
31
  }
@@ -1,41 +1,114 @@
1
- import type { ComponentType, JSX, MouseEventHandler, ReactNode, RefObject } from "react";
2
- export type HeaderBarButtonFactory = () => JSX.Element | null;
3
- export interface HeaderBarButtonData {
4
- render: HeaderBarButtonFactory;
5
- icon: ComponentType<any>;
6
- priority?: number;
7
- }
8
- interface HeaderBarButton {
9
- render: HeaderBarButtonFactory;
10
- priority: number;
11
- }
12
- export declare const buttons: Map<string, HeaderBarButton>;
1
+ import type { ComponentType, JSX, MouseEventHandler, ReactNode } from "react";
13
2
  export interface HeaderBarButtonProps {
3
+ /** The icon component to render inside the button */
14
4
  icon: ComponentType<any>;
5
+ /** Tooltip text shown on hover. Pass null to disable tooltip */
15
6
  tooltip: ReactNode;
7
+ /** Called when the button is clicked */
16
8
  onClick?: MouseEventHandler<HTMLDivElement>;
9
+ /** Called when the button is right-clicked */
17
10
  onContextMenu?: MouseEventHandler<HTMLDivElement>;
11
+ /** Additional CSS class names */
18
12
  className?: string;
13
+ /** CSS class name for the icon element */
19
14
  iconClassName?: string;
15
+ /** Tooltip position relative to the button */
20
16
  position?: "top" | "bottom" | "left" | "right";
17
+ /** Whether the button appears in a selected/active state */
21
18
  selected?: boolean;
19
+ /** Whether the button is disabled */
22
20
  disabled?: boolean;
21
+ /** Whether to show a notification badge */
23
22
  showBadge?: boolean;
23
+ /** Position of the notification badge */
24
24
  badgePosition?: "top" | "bottom";
25
- ref?: RefObject<any>;
25
+ /** Size of the icon in pixels */
26
+ iconSize?: number;
27
+ /** Ref to the button element */
28
+ ref?: React.RefObject<any>;
29
+ }
30
+ export type HeaderBarButtonFactory = () => JSX.Element | null;
31
+ export interface HeaderBarButtonData {
32
+ /** Function that renders the button component */
33
+ render: HeaderBarButtonFactory;
34
+ /** Icon component used for settings UI display */
35
+ icon: ComponentType<any>;
36
+ /** Higher priority buttons appear further right. Default: 0 */
37
+ priority?: number;
38
+ /** Where to render the button. Default: "headerbar" */
39
+ location?: "headerbar" | "channeltoolbar";
26
40
  }
41
+ /**
42
+ * Button component for the top header bar (title bar area).
43
+ *
44
+ * @example
45
+ * <HeaderBarButton
46
+ * icon={MyIcon}
47
+ * tooltip="My Button"
48
+ * onClick={() => console.log("clicked")}
49
+ * />
50
+ */
27
51
  export declare const HeaderBarButton: ComponentType<HeaderBarButtonProps>;
28
52
  /**
29
- * Add a button to the header bar.
30
- * @param id Unique identifier for the button.
31
- * @param render Function that renders the button component.
32
- * @param priority Higher priority = more to the right. Default is 0.
53
+ * Button component for the channel toolbar (below the search bar).
54
+ * Automatically handles selected state styling.
55
+ *
56
+ * @example
57
+ * <ChannelToolbarButton
58
+ * icon={MyIcon}
59
+ * tooltip={isOpen ? null : "My Button"}
60
+ * onClick={() => setOpen(v => !v)}
61
+ * selected={isOpen}
62
+ * />
63
+ */
64
+ export declare function ChannelToolbarButton(props: HeaderBarButtonProps): JSX.Element;
65
+ /**
66
+ * Adds a button to the header bar (title bar area).
67
+ *
68
+ * @param id - Unique identifier for the button (e.g., "my-plugin-button")
69
+ * @param render - Function that returns the button JSX
70
+ * @param priority - Higher values appear further right. Default: 0
71
+ *
72
+ * @example
73
+ * addHeaderBarButton("my-button", () => (
74
+ * <HeaderBarButton
75
+ * icon={MyIcon}
76
+ * tooltip="My Button"
77
+ * onClick={handleClick}
78
+ * />
79
+ * ));
33
80
  */
34
81
  export declare function addHeaderBarButton(id: string, render: HeaderBarButtonFactory, priority?: number): void;
35
82
  /**
36
- * Remove a button from the header bar.
37
- * @param id The identifier of the button to remove.
83
+ * Removes a button from the header bar.
84
+ *
85
+ * @param id - The identifier used when adding the button
38
86
  */
39
87
  export declare function removeHeaderBarButton(id: string): void;
40
- export declare function _addButtons(): JSX.Element[];
41
- export {};
88
+ /**
89
+ * Adds a button to the channel toolbar (below the search bar, next to pins/members).
90
+ *
91
+ * @param id - Unique identifier for the button (e.g., "my-plugin-toolbar")
92
+ * @param render - Function that returns the button JSX
93
+ * @param priority - Higher values appear further right. Default: 0
94
+ *
95
+ * @example
96
+ * addChannelToolbarButton("my-toolbar", () => (
97
+ * <ChannelToolbarButton
98
+ * icon={MyIcon}
99
+ * tooltip="My Button"
100
+ * onClick={handleClick}
101
+ * />
102
+ * ));
103
+ */
104
+ export declare function addChannelToolbarButton(id: string, render: HeaderBarButtonFactory, priority?: number): void;
105
+ /**
106
+ * Removes a button from the channel toolbar.
107
+ *
108
+ * @param id - The identifier used when adding the button
109
+ */
110
+ export declare function removeChannelToolbarButton(id: string): void;
111
+ /** @internal Injected by HeaderBarAPI patch (do NOT call directly) */
112
+ export declare function _addHeaderBarButtons(): JSX.Element[];
113
+ /** @internal Injected by HeaderBarAPI patch (do NOT call directly) */
114
+ export declare function _addChannelToolbarButtons(toolbar: ReactNode[]): void;
@@ -14,6 +14,7 @@ export declare function isPluginRequired(name: string): boolean | undefined;
14
14
  export declare const calculatePluginDependencyMap: () => Record<string, string[]>;
15
15
  export declare function isPluginEnabled(p: string): boolean;
16
16
  export declare function addPatch(newPatch: Omit<Patch, "plugin">, pluginName: string, pluginPath?: string): void;
17
+ export declare function pluginRequiresRestart(p: Plugin): boolean;
17
18
  export declare const startAllPlugins: (target: StartAt) => void;
18
19
  export declare function startDependenciesRecursive(p: Plugin): {
19
20
  restartNeeded: boolean;
package/api/Settings.d.ts CHANGED
@@ -88,7 +88,7 @@ export declare const Settings: Settings;
88
88
  * @returns Settings
89
89
  */
90
90
  export declare function useSettings(paths?: UseSettings<Settings>[]): Settings;
91
- export declare function migratePluginToSetting(newName: string, oldName: string, settingName: string): void;
91
+ export declare function migratePluginToSettings(newName: string, oldName: string, ...settingNames: string[]): void;
92
92
  export declare function migratePluginSettings(name: string, ...oldNames: string[]): void;
93
93
  export declare function migratePluginSetting(pluginName: string, newSetting: string, oldSetting: string): void;
94
94
  export declare function migrateSettingFromPlugin(newPlugin: string, newSetting: string, oldPlugin: string, oldSetting: string): void;
@@ -5,15 +5,6 @@ export declare function exportSettings({ syncDataStore, type, minify }: {
5
5
  type?: BackupType;
6
6
  minify?: boolean;
7
7
  }): Promise<string>;
8
- export declare function exportPlugins({ minify }?: {
9
- minify?: boolean;
10
- }): Promise<string>;
11
- export declare function exportCSS({ minify }?: {
12
- minify?: boolean;
13
- }): Promise<string>;
14
- export declare function exportDataStores({ minify }?: {
15
- minify?: boolean;
16
- }): Promise<string>;
17
8
  export declare function downloadSettingsBackup(type?: BackupType, { minify }?: {
18
9
  minify?: boolean;
19
10
  }): Promise<void>;
package/api/Styles.d.ts CHANGED
@@ -1,3 +1,7 @@
1
+ /** @deprecated Import this from `@utils/css` instead */
2
+ export declare const classNameFactory: (prefix?: string) => (...args: import("../utils/css").ClassNameFactoryArg[]
3
+ /** @deprecated Import this from `@utils/css` instead */
4
+ ) => string;
1
5
  export interface Style {
2
6
  name: string;
3
7
  source: string;
@@ -5,6 +9,20 @@ export interface Style {
5
9
  dom: HTMLStyleElement | null;
6
10
  }
7
11
  export declare const styleMap: Map<string, Style>;
12
+ export declare const plexcordRootNode: HTMLElement;
13
+ /**
14
+ * Houses all Plexcord core styles. This includes all imported css files
15
+ */
16
+ export declare const coreStyleRootNode: HTMLElement;
17
+ /**
18
+ * Houses all plugin specific managed styles
19
+ */
20
+ export declare const managedStyleRootNode: HTMLElement;
21
+ /**
22
+ * Houses the user's themes and quick css
23
+ */
24
+ export declare const userStyleRootNode: HTMLElement;
25
+ export declare function initStyles(): void;
8
26
  export declare function requireStyle(name: string): Style;
9
27
  /**
10
28
  * A style's name can be obtained from importing a stylesheet with `?managed` at the end of the import
@@ -69,23 +87,3 @@ export declare const setStyleClassNames: (name: string, classNames: Record<strin
69
87
  * @see {@link setStyleClassNames} for more info on style classnames
70
88
  */
71
89
  export declare const compileStyle: (style: Style) => void;
72
- /**
73
- * @param name The classname
74
- * @param prefix A prefix to add each class, defaults to `""`
75
- * @return A css selector for the classname
76
- * @example
77
- * classNameToSelector("foo bar") // => ".foo.bar"
78
- */
79
- export declare const classNameToSelector: (name: string, prefix?: string) => string;
80
- type ClassNameFactoryArg = string | string[] | Record<string, unknown> | false | null | undefined | 0 | "";
81
- /**
82
- * @param prefix The prefix to add to each class, defaults to `""`
83
- * @returns A classname generator function
84
- * @example
85
- * const cl = classNameFactory("plugin-");
86
- *
87
- * cl("base", ["item", "editable"], { selected: null, disabled: true })
88
- * // => "plugin-base plugin-item plugin-editable plugin-disabled"
89
- */
90
- export declare const classNameFactory: (prefix?: string) => (...args: ClassNameFactoryArg[]) => string;
91
- export {};
@@ -0,0 +1,38 @@
1
+ import type { ComponentType, MouseEventHandler, ReactNode } from "react";
2
+ export interface UserAreaButtonProps {
3
+ icon: ReactNode;
4
+ tooltipText?: ReactNode;
5
+ onClick?: MouseEventHandler<HTMLDivElement>;
6
+ onContextMenu?: MouseEventHandler<HTMLDivElement>;
7
+ className?: string;
8
+ role?: string;
9
+ "aria-label"?: string;
10
+ "aria-checked"?: boolean;
11
+ disabled?: boolean;
12
+ plated?: boolean;
13
+ redGlow?: boolean;
14
+ orangeGlow?: boolean;
15
+ }
16
+ export interface UserAreaRenderProps {
17
+ nameplate?: any;
18
+ iconForeground?: string;
19
+ hideTooltips?: boolean;
20
+ }
21
+ export type UserAreaButtonFactory = (props: UserAreaRenderProps) => ReactNode;
22
+ export interface UserAreaButtonData {
23
+ render: UserAreaButtonFactory;
24
+ icon: ComponentType<{
25
+ className?: string;
26
+ }>;
27
+ priority?: number;
28
+ }
29
+ interface ButtonEntry {
30
+ render: UserAreaButtonFactory;
31
+ priority: number;
32
+ }
33
+ export declare const UserAreaButton: ComponentType<UserAreaButtonProps>;
34
+ export declare const buttons: Map<string, ButtonEntry>;
35
+ export declare function addUserAreaButton(id: string, render: UserAreaButtonFactory, priority?: number): void;
36
+ export declare function removeUserAreaButton(id: string): void;
37
+ export declare function _renderButtons(props: UserAreaRenderProps): import("react").JSX.Element[];
38
+ export {};
package/api/index.d.ts CHANGED
@@ -20,6 +20,7 @@ import * as $ServerList from "./ServerList";
20
20
  import * as $Settings from "./Settings";
21
21
  import * as $Styles from "./Styles";
22
22
  import * as $Themes from "./Themes";
23
+ import * as $UserArea from "./UserArea";
23
24
  import * as $UserSettings from "./UserSettings";
24
25
  /**
25
26
  * An API allowing you to listen to Message Clicks or run your own logic
@@ -122,6 +123,10 @@ export declare const NicknameIcons: typeof $NicknameIcons;
122
123
  * An API allowing you to play internal Discord audio files or external audio URLs/URIs.
123
124
  */
124
125
  export declare const AudioPlayer: typeof $AudioPlayer;
126
+ /**
127
+ * An API allowing you to add buttons to the user area panel.
128
+ */
129
+ export declare const UserArea: typeof $UserArea;
125
130
  /**
126
131
  * Don't use this
127
132
  */
@@ -21,16 +21,15 @@ export declare const TextWeights: {
21
21
  readonly extrabold: "800";
22
22
  };
23
23
  export declare const TextColors: {
24
- readonly "header-primary": "var(--header-primary)";
25
24
  readonly "text-default": "var(--text-default)";
26
25
  readonly "text-muted": "var(--text-muted)";
27
26
  readonly "text-link": "var(--text-link)";
28
- readonly "text-danger": "var(--redesign-button-danger-background, var(--button-danger-background))";
27
+ readonly "text-danger": "var(--redesign-button-danger-background)";
29
28
  readonly "text-brand": "var(--text-brand)";
30
29
  readonly "text-strong": "var(--text-strong)";
31
30
  readonly "text-subtle": "var(--text-subtle)";
32
31
  readonly "control-text-critical": "var(--control-text-critical-secondary-default)";
33
- readonly "control-text-primary": "var(--control-text-primary-default)";
32
+ readonly "control-text-primary": "var(--control-primary-text-default)";
34
33
  };
35
34
  export declare function generateTextCss(): string;
36
35
  export type TextSize = keyof typeof TextSizes;
@@ -4,5 +4,6 @@ export interface FlexProps extends HTMLAttributes<HTMLDivElement> {
4
4
  gap?: CSSProperties["gap"];
5
5
  justifyContent?: CSSProperties["justifyContent"];
6
6
  alignItems?: CSSProperties["alignItems"];
7
+ flexWrap?: CSSProperties["flexWrap"];
7
8
  }
8
- export declare function Flex({ flexDirection, gap, justifyContent, alignItems, children, style, ...restProps }: FlexProps): import("react").JSX.Element;
9
+ export declare function Flex({ flexDirection, gap, justifyContent, alignItems, flexWrap, children, style, ...restProps }: FlexProps): import("react").JSX.Element;
@@ -1,2 +1,6 @@
1
1
  import { SVGAttributes } from "react";
2
- export declare function Heart(props: SVGAttributes<SVGSVGElement>): import("react").JSX.Element;
2
+ interface HeartProps extends SVGAttributes<SVGSVGElement> {
3
+ fill?: string;
4
+ }
5
+ export declare function Heart({ fill, ...props }: HeartProps): import("react").JSX.Element;
6
+ export {};
@@ -0,0 +1,4 @@
1
+ import { TooltipProps } from "@plexcord/discord-types";
2
+ export declare function TooltipContainer({ children, ...props }: Omit<TooltipProps, "children"> & {
3
+ children: React.ReactNode;
4
+ }): import("react").JSX.Element;
@@ -0,0 +1,3 @@
1
+ import { Tooltip } from "@plexcord/discord-types";
2
+ /** Don't use this */
3
+ export declare const TooltipFallback: Tooltip;
@@ -1,6 +1,6 @@
1
1
  import { DefinedSettings, PluginOptionBase } from "../../../../../utils/types";
2
2
  import { PropsWithChildren } from "react";
3
- export declare const cl: (...args: (string | false | 0 | string[] | Record<string, unknown> | null | undefined)[]) => string;
3
+ export declare const cl: (...args: import("../../../../../utils/css").ClassNameFactoryArg[]) => string;
4
4
  interface SettingBaseProps<T> {
5
5
  option: T;
6
6
  onChange(newValue: any): void;
@@ -1,7 +1,7 @@
1
1
  import "./styles.css";
2
2
  import { Logger } from "../../../../utils/Logger";
3
3
  import { JSX } from "react";
4
- export declare const cl: (...args: (string | false | 0 | string[] | Record<string, unknown> | null | undefined)[]) => string;
4
+ export declare const cl: (...args: import("../../../../utils/css").ClassNameFactoryArg[]) => string;
5
5
  export declare const logger: Logger;
6
6
  export declare function showErrorToast(message: string): void;
7
7
  export declare function getExcludedReasons(): Record<"web" | "discordDesktop" | "plextron" | "desktop" | "dev", string>;