@plexcord/types 1.17.7 → 1.18.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 (126) hide show
  1. package/Plexcord.d.ts +2 -4
  2. package/api/Badges.d.ts +1 -1
  3. package/api/ChatButtons.d.ts +1 -1
  4. package/api/PluginManager.d.ts +27 -0
  5. package/api/SettingsSync/cloudSetup.d.ts +8 -0
  6. package/api/SettingsSync/cloudSync.d.ts +4 -0
  7. package/api/SettingsSync/offline.d.ts +19 -0
  8. package/api/Styles.d.ts +4 -10
  9. package/api/Themes.d.ts +2 -0
  10. package/api/i18n.d.ts +1 -1
  11. package/api/index.d.ts +6 -0
  12. package/components/Button.d.ts +5 -0
  13. package/components/Card.d.ts +8 -0
  14. package/components/Flex.d.ts +8 -5
  15. package/components/Icons.d.ts +2 -0
  16. package/components/index.d.ts +2 -0
  17. package/components/settings/DonateButton.d.ts +4 -2
  18. package/components/settings/tabs/plugins/index.d.ts +1 -1
  19. package/package.json +1 -1
  20. package/plugins/_api/badges/index.d.ts +3 -6
  21. package/plugins/channelTabs/components/BookmarkContainer.d.ts +4 -0
  22. package/plugins/channelTabs/components/ChannelTab.d.ts +9 -0
  23. package/plugins/channelTabs/components/ChannelTabsContainer.d.ts +6 -2
  24. package/plugins/channelTabs/components/KeybindSettings.d.ts +2 -0
  25. package/plugins/channelTabs/index.d.ts +173 -6
  26. package/plugins/channelTabs/util/constants.d.ts +171 -6
  27. package/plugins/channelTabs/util/icons.d.ts +2 -0
  28. package/plugins/channelTabs/util/tabs.d.ts +1 -0
  29. package/plugins/customTimestamps/index.d.ts +1 -1
  30. package/plugins/githubRepos/components/GitHubReposComponent.d.ts +0 -1
  31. package/plugins/githubRepos/index.d.ts +1 -0
  32. package/plugins/hideChatButtons/index.d.ts +2 -3
  33. package/plugins/holyNotes/utils.d.ts +2 -1
  34. package/plugins/iRememberYou/index.d.ts +1 -1
  35. package/plugins/instantScreenshare/index.d.ts +15 -0
  36. package/plugins/instantScreenshare/utils.d.ts +12 -0
  37. package/plugins/messageLogger/index.d.ts +1 -3
  38. package/plugins/moreKaomoji/index.d.ts +1 -0
  39. package/plugins/morse/index.d.ts +3 -0
  40. package/plugins/moyai/index.d.ts +25 -14
  41. package/plugins/musicControls/index.d.ts +77 -44
  42. package/plugins/musicControls/settings.d.ts +76 -44
  43. package/plugins/mutualGroupDMs/index.d.ts +1 -0
  44. package/plugins/newGuildSettings/index.d.ts +37 -20
  45. package/plugins/newPluginsManager/NewPluginsModal.d.ts +10 -0
  46. package/plugins/newPluginsManager/index.d.ts +20 -0
  47. package/plugins/newPluginsManager/knownSettings.d.ts +10 -0
  48. package/plugins/noBlockedMessages/index.d.ts +9 -4
  49. package/plugins/noBulletPoints/index.d.ts +1 -0
  50. package/plugins/noDeepLinks.web/index.d.ts +1 -0
  51. package/plugins/noDeleteSafety/index.d.ts +5 -2
  52. package/plugins/noDevtoolsWarning/index.d.ts +1 -0
  53. package/plugins/noF1/index.d.ts +1 -0
  54. package/plugins/noMaskedUrlPaste/index.d.ts +1 -0
  55. package/plugins/noMirroredCamera/index.d.ts +1 -0
  56. package/plugins/noModalAnimation/index.d.ts +1 -0
  57. package/plugins/noMosaic/index.d.ts +5 -2
  58. package/plugins/noNitroUpsell/index.d.ts +1 -0
  59. package/plugins/noOnboarding/index.d.ts +1 -0
  60. package/plugins/noOnboardingDelay/index.d.ts +1 -0
  61. package/plugins/noPendingCount/index.d.ts +13 -6
  62. package/plugins/noProfileThemes/index.d.ts +1 -0
  63. package/plugins/noRPC.discordDesktop/index.d.ts +1 -0
  64. package/plugins/noReplyMention/index.d.ts +25 -16
  65. package/plugins/noServerEmojis/index.d.ts +7 -4
  66. package/plugins/noSystemBadge.discordDesktop/index.d.ts +1 -0
  67. package/plugins/noTypingAnimation/index.d.ts +1 -0
  68. package/plugins/noUnblockToJump/index.d.ts +1 -0
  69. package/plugins/normalizeMessageLinks/index.d.ts +1 -0
  70. package/plugins/notificationTitle/index.d.ts +1 -0
  71. package/plugins/notificationVolume/index.d.ts +5 -2
  72. package/plugins/onePingPerDM/index.d.ts +25 -14
  73. package/plugins/oneko/index.d.ts +7 -4
  74. package/plugins/openInApp/index.d.ts +1 -0
  75. package/plugins/overrideForumDefaults/index.d.ts +17 -12
  76. package/plugins/partyMode/index.d.ts +9 -6
  77. package/plugins/pauseInvitesForever/index.d.ts +1 -0
  78. package/plugins/permissionFreeWill/index.d.ts +9 -4
  79. package/plugins/permissionsViewer/index.d.ts +17 -12
  80. package/plugins/petpet/index.d.ts +7 -0
  81. package/plugins/pictureInPicture/index.d.ts +5 -2
  82. package/plugins/pinDms/index.d.ts +41 -24
  83. package/plugins/pinIcon/index.d.ts +1 -0
  84. package/plugins/pingNotifications/index.d.ts +21 -10
  85. package/plugins/plainFolderIcon/index.d.ts +1 -0
  86. package/plugins/platformIndicators/index.d.ts +3 -1
  87. package/plugins/platformSpoofer/index.d.ts +10 -6
  88. package/plugins/plexcordToolbox/index.d.ts +2 -1
  89. package/plugins/previewMessage/index.d.ts +1 -0
  90. package/plugins/questCompleter/index.d.ts +1 -0
  91. package/plugins/questFocused/index.d.ts +1 -0
  92. package/plugins/questify/index.d.ts +232 -94
  93. package/plugins/questify/settings.d.ts +220 -94
  94. package/plugins/questionMarkReplacement/index.d.ts +5 -2
  95. package/plugins/quickMention/index.d.ts +1 -0
  96. package/plugins/quickReply/index.d.ts +13 -8
  97. package/plugins/quoter/index.d.ts +74 -17
  98. package/plugins/quoter/types.d.ts +52 -0
  99. package/plugins/quoter/utils.d.ts +9 -2
  100. package/plugins/randomVoice/index.d.ts +91 -48
  101. package/plugins/reactErrorDecoder/index.d.ts +1 -0
  102. package/plugins/readAllNotificationsButton/index.d.ts +1 -0
  103. package/plugins/repeatMessages/index.d.ts +26 -0
  104. package/plugins/showMeYourName/index.d.ts +11 -8
  105. package/plugins/signature/index.d.ts +4 -20
  106. package/plugins/uselessInfo/index.d.ts +91 -0
  107. package/plugins/voiceButtons/index.d.ts +138 -44
  108. package/plugins/voiceButtons/settings.d.ts +138 -44
  109. package/plugins/voiceMessages/{DesktopRecorder.d.ts → components/DesktopRecorder.d.ts} +1 -1
  110. package/plugins/voiceMessages/{WebRecorder.d.ts → components/WebRecorder.d.ts} +1 -1
  111. package/plugins/voiceMessages/index.d.ts +30 -6
  112. package/utils/apng.d.ts +46 -0
  113. package/utils/constants.d.ts +13 -0
  114. package/utils/dependencies.d.ts +0 -37
  115. package/utils/discord.d.ts +3 -2
  116. package/utils/index.d.ts +1 -0
  117. package/utils/misc.d.ts +0 -2
  118. package/utils/react.d.ts +1 -1
  119. package/utils/types.d.ts +12 -12
  120. package/webpack/common/components.d.ts +6 -2
  121. package/webpack/common/stores.d.ts +1 -1
  122. package/webpack/common/utils.d.ts +2 -0
  123. package/webpack/webpack.d.ts +1 -1
  124. package/plugins/voiceMessages/settings.d.ts +0 -24
  125. package/plugins/voiceMessages/utils.d.ts +0 -1
  126. /package/plugins/voiceMessages/{VoicePreview.d.ts → components/VoicePreview.d.ts} +0 -0
package/Plexcord.d.ts CHANGED
@@ -18,14 +18,12 @@
18
18
  */
19
19
  import "~plugins";
20
20
  export * as Api from "./api";
21
+ export * as Plugins from "./api/PluginManager";
22
+ export * as QuickCss from "./api/Themes";
21
23
  export * as Components from "./components";
22
- export * as Plugins from "./plugins";
23
24
  export * as Util from "./utils";
24
- export * as QuickCss from "./utils/quickCss";
25
25
  export * as Updater from "./utils/updater";
26
26
  export * as Webpack from "./webpack";
27
27
  export * as WebpackPatcher from "./webpack/patchWebpack";
28
28
  export { PlainSettings, Settings };
29
- import "./utils/quickCss";
30
- import "./webpack/patchWebpack";
31
29
  import { PlainSettings, Settings } from "./api/Settings";
package/api/Badges.d.ts CHANGED
@@ -9,7 +9,7 @@ export interface ProfileBadge {
9
9
  /** Custom component for the badge (tooltip not included) */
10
10
  component?: ComponentType<ProfileBadge & BadgeUserArgs>;
11
11
  /** The custom image to use */
12
- image?: string;
12
+ iconSrc?: string;
13
13
  link?: string;
14
14
  /** Action to perform when you click the badge */
15
15
  onClick?(event: React.MouseEvent, props: ProfileBadge & BadgeUserArgs): void;
@@ -61,7 +61,7 @@ export interface ChatBarProps {
61
61
  export type ChatBarButtonFactory = (props: ChatBarProps & {
62
62
  isMainChat: boolean;
63
63
  }) => JSX.Element | null;
64
- export declare function _injectButtons(buttons: ReactNode[], props: ChatBarProps): void;
64
+ export declare function _injectButtons(buttons: ReactNode[], props: ChatBarProps): ReactNode[] | undefined;
65
65
  export declare const addChatBarButton: (id: string, button: ChatBarButtonFactory) => Map<string, ChatBarButtonFactory>;
66
66
  export declare const removeChatBarButton: (id: string) => boolean;
67
67
  export interface ChatBarButtonProps {
@@ -0,0 +1,27 @@
1
+ import { Logger } from "../utils/Logger";
2
+ export { Plugins as plugins };
3
+ import { Patch, Plugin, StartAt } from "../utils/types";
4
+ import { FluxDispatcher } from "../webpack/common";
5
+ import Plugins from "~plugins";
6
+ export declare const PMLogger: Logger;
7
+ /**
8
+ * Whether a plugin is required (or dependency of another enabled plugin)
9
+ */
10
+ export declare function isPluginRequired(name: string): boolean | undefined;
11
+ /**
12
+ * A map of plugin names to the plugins that depend on them
13
+ */
14
+ export declare const calculatePluginDependencyMap: () => Record<string, string[]>;
15
+ export declare function isPluginEnabled(p: string): boolean;
16
+ export declare function addPatch(newPatch: Omit<Patch, "plugin">, pluginName: string, pluginPath?: string): void;
17
+ export declare const startAllPlugins: (target: StartAt) => void;
18
+ export declare function startDependenciesRecursive(p: Plugin): {
19
+ restartNeeded: boolean;
20
+ failures: string[];
21
+ };
22
+ export declare function subscribePluginFluxEvents(p: Plugin, fluxDispatcher: typeof FluxDispatcher): void;
23
+ export declare function unsubscribePluginFluxEvents(p: Plugin, fluxDispatcher: typeof FluxDispatcher): void;
24
+ export declare function subscribeAllPluginsFluxEvents(fluxDispatcher: typeof FluxDispatcher): void;
25
+ export declare const startPlugin: (p: Plugin) => boolean;
26
+ export declare const stopPlugin: (p: Plugin) => boolean;
27
+ export declare const initPluginManager: () => void;
@@ -0,0 +1,8 @@
1
+ import { Logger } from "../../utils/Logger";
2
+ export declare const logger: Logger;
3
+ export declare const getCloudUrl: () => URL;
4
+ export declare function checkCloudUrlCsp(): Promise<boolean>;
5
+ export declare function getAuthorization(): Promise<string>;
6
+ export declare function deauthorizeCloud(): Promise<void>;
7
+ export declare function authorizeCloud(): Promise<void>;
8
+ export declare function getCloudAuth(): Promise<string>;
@@ -0,0 +1,4 @@
1
+ export declare function putCloudSettings(manual?: boolean): Promise<void>;
2
+ export declare function getCloudSettings(shouldNotify?: boolean, force?: boolean): Promise<boolean | undefined>;
3
+ export declare function deleteCloudSettings(): Promise<void>;
4
+ export declare function eraseAllCloudData(): Promise<void>;
@@ -0,0 +1,19 @@
1
+ export declare function importSettings(data: string): Promise<void>;
2
+ export declare function exportSettings({ minify }?: {
3
+ minify?: boolean;
4
+ }): Promise<string>;
5
+ export declare function exportPlugins({ minify }?: {
6
+ minify?: boolean;
7
+ }): Promise<string>;
8
+ export declare function exportCSS({ minify }?: {
9
+ minify?: boolean;
10
+ }): Promise<string>;
11
+ export declare function exportDataStores({ minify }?: {
12
+ minify?: boolean;
13
+ }): Promise<string>;
14
+ type BackupType = "settings" | "plugins" | "css" | "datastore";
15
+ export declare function downloadSettingsBackup(type: BackupType, { minify }?: {
16
+ minify?: boolean;
17
+ }): Promise<void>;
18
+ export declare function uploadSettingsBackup(showToast?: boolean): Promise<void>;
19
+ export {};
package/api/Styles.d.ts CHANGED
@@ -1,17 +1,11 @@
1
- type MapValue<T extends Map<any, any>> = T extends Map<any, infer V> ? V : never;
2
- export type Style = MapValue<typeof PlexcordStyles>;
3
- export declare const styleMap: Map<string, {
1
+ export interface Style {
4
2
  name: string;
5
3
  source: string;
6
4
  classNames: Record<string, string>;
7
5
  dom: HTMLStyleElement | null;
8
- }>;
9
- export declare function requireStyle(name: string): {
10
- name: string;
11
- source: string;
12
- classNames: Record<string, string>;
13
- dom: HTMLStyleElement | null;
14
- };
6
+ }
7
+ export declare const styleMap: Map<string, Style>;
8
+ export declare function requireStyle(name: string): Style;
15
9
  /**
16
10
  * A style's name can be obtained from importing a stylesheet with `?managed` at the end of the import
17
11
  * @param name The name of the style
@@ -0,0 +1,2 @@
1
+ import { ThemeStore } from "@plexcord/discord-types";
2
+ export declare function initQuickCssThemeStore(themeStore: ThemeStore): void;
package/api/i18n.d.ts CHANGED
@@ -62,6 +62,6 @@ export declare const getCurrentLocale: () => string;
62
62
  export declare function useGlobalLocale(): string;
63
63
  export declare function useForceUpdateOnLocaleChange(): void;
64
64
  export declare function withI18n<P extends object>(Component: React.ComponentType<P>): {
65
- (props: P): import("react").ReactElement<P, string | import("react").JSXElementConstructor<any>>;
65
+ (props: P): any;
66
66
  displayName: string;
67
67
  };
package/api/index.d.ts CHANGED
@@ -14,9 +14,11 @@ import * as $MessageUpdater from "./MessageUpdater";
14
14
  import * as $NicknameIcons from "./NicknameIcons";
15
15
  import * as $Notices from "./Notices";
16
16
  import * as $Notifications from "./Notifications";
17
+ export * as PluginManager from "./PluginManager";
17
18
  import * as $ServerList from "./ServerList";
18
19
  import * as $Settings from "./Settings";
19
20
  import * as $Styles from "./Styles";
21
+ import * as $Themes from "./Themes";
20
22
  import * as $UserSettings from "./UserSettings";
21
23
  /**
22
24
  * An API allowing you to listen to Message Clicks or run your own logic
@@ -115,6 +117,10 @@ export declare const NicknameIcons: typeof $NicknameIcons;
115
117
  * An API allowing you to play internal Discord audio files or external audio URLs/URIs.
116
118
  */
117
119
  export declare const AudioPlayer: typeof $AudioPlayer;
120
+ /**
121
+ * Don't use this
122
+ */
123
+ export declare const Themes: typeof $Themes;
118
124
  /**
119
125
  * LocaleLoader for managing plugin translations
120
126
  */
@@ -7,7 +7,12 @@ export type ButtonProps = ComponentPropsWithRef<"button"> & {
7
7
  variant?: ButtonVariant;
8
8
  size?: ButtonSize;
9
9
  };
10
+ export type LinkButtonProps = ComponentPropsWithRef<"a"> & {
11
+ size?: ButtonSize;
12
+ variant?: ButtonVariant;
13
+ };
10
14
  export declare function Button({ variant, size, children, className, ...restProps }: ButtonProps): import("react").JSX.Element;
15
+ export declare function LinkButton({ variant, size, className, children, ...restProps }: LinkButtonProps): import("react").JSX.Element;
11
16
  export type TextButtonVariant = "primary" | "secondary" | "danger" | "link";
12
17
  export type TextButtonProps = ComponentPropsWithRef<"button"> & {
13
18
  variant?: TextButtonVariant;
@@ -0,0 +1,8 @@
1
+ import "./Card.css";
2
+ import { ComponentPropsWithRef } from "react";
3
+ export interface CardProps extends ComponentPropsWithRef<"div"> {
4
+ variant?: "normal" | "warning" | "danger";
5
+ /** Add a default padding of 1em to the card. This is implied if no className prop is passed */
6
+ defaultPadding?: boolean;
7
+ }
8
+ export declare function Card({ variant, defaultPadding, children, className, ...restProps }: CardProps): import("react").JSX.Element;
@@ -1,5 +1,8 @@
1
- export declare function Flex(props: React.PropsWithChildren<{
2
- flexDirection?: React.CSSProperties["flexDirection"];
3
- style?: React.CSSProperties;
4
- className?: string;
5
- } & React.HTMLProps<HTMLDivElement>>): import("react").JSX.Element;
1
+ import type { CSSProperties, HTMLAttributes } from "react";
2
+ export interface FlexProps extends HTMLAttributes<HTMLDivElement> {
3
+ flexDirection?: CSSProperties["flexDirection"];
4
+ gap?: CSSProperties["gap"];
5
+ justifyContent?: CSSProperties["justifyContent"];
6
+ alignItems?: CSSProperties["alignItems"];
7
+ }
8
+ export declare function Flex({ flexDirection, gap, justifyContent, alignItems, children, style, ...restProps }: FlexProps): import("react").JSX.Element;
@@ -34,8 +34,10 @@ export declare function NotesIcon(props: IconProps): import("react").JSX.Element
34
34
  export declare function FolderIcon(props: IconProps): import("react").JSX.Element;
35
35
  export declare function LogIcon(props: IconProps): import("react").JSX.Element;
36
36
  export declare function RestartIcon(props: IconProps): import("react").JSX.Element;
37
+ export declare function IDIcon(props: IconProps): import("react").JSX.Element;
37
38
  export declare function PaintbrushIcon(props: IconProps): import("react").JSX.Element;
38
39
  export declare function PencilIcon(props: IconProps): import("react").JSX.Element;
40
+ export declare function QuoteIcon(): import("react").JSX.Element;
39
41
  export declare function GithubIcon(props: IconProps): import("react").JSX.Element;
40
42
  export declare function WebsiteIcon(props: IconProps): import("react").JSX.Element;
41
43
  export {};
@@ -1,4 +1,6 @@
1
1
  export * from "./BaseText";
2
+ export * from "./Button";
3
+ export * from "./Card";
2
4
  export * from "./CheckedTextInput";
3
5
  export * from "./CodeBlock";
4
6
  export * from "./Divider";
@@ -1,2 +1,4 @@
1
- import { ButtonProps } from "@plexcord/discord-types";
2
- export default function DonateButton({ look, color, ...props }: Partial<ButtonProps>): import("react").JSX.Element;
1
+ export default function DonateButton({ variant, ...props }: {
2
+ [x: string]: any;
3
+ variant?: string | undefined;
4
+ }): import("react").JSX.Element;
@@ -4,7 +4,7 @@ import { JSX } from "react";
4
4
  export declare const cl: (...args: (string | false | 0 | string[] | Record<string, unknown> | null | undefined)[]) => string;
5
5
  export declare const logger: Logger;
6
6
  export declare function showErrorToast(message: string): void;
7
- export declare const ExcludedReasons: Record<"web" | "discordDesktop" | "plextron" | "desktop" | "dev", string>;
7
+ export declare function getExcludedReasons(): Record<"web" | "discordDesktop" | "plextron" | "desktop" | "dev", string>;
8
8
  export declare function PluginDependencyList({ deps }: {
9
9
  deps: string[];
10
10
  }): JSX.Element;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@plexcord/types",
3
3
  "private": false,
4
- "version": "1.17.7",
4
+ "version": "1.18.1",
5
5
  "description": "",
6
6
  "types": "index.d.ts",
7
7
  "scripts": {
@@ -18,13 +18,10 @@ declare const _default: {
18
18
  };
19
19
  } | {
20
20
  find: string;
21
- replacement: ({
22
- match: RegExp;
23
- replace: (_: string, rest: string, originalSrc: string, badge: string) => string;
24
- } | {
21
+ replacement: {
25
22
  match: RegExp;
26
23
  replace: string;
27
- })[];
24
+ }[];
28
25
  })[];
29
26
  readonly DonorBadges: Record<string, Record<"tooltip" | "badge", string>[]>;
30
27
  readonly toolboxActions: {
@@ -42,7 +39,7 @@ declare const _default: {
42
39
  renderBadgeComponent: import("react").FunctionComponent<ProfileBadge & BadgeUserArgs>;
43
40
  getBadgeMouseEventHandlers(badge: ProfileBadge & BadgeUserArgs): Record<string, (e: React.MouseEvent) => void>;
44
41
  getDonorBadges(userId: string): {
45
- image: string;
42
+ iconSrc: string;
46
43
  description: string;
47
44
  position: BadgePosition.START;
48
45
  props: {
@@ -1,4 +1,8 @@
1
1
  import { BasicChannelTabsProps } from "../util";
2
+ export declare function HorizontalScroller({ children, className, customRef }: React.PropsWithChildren<{
3
+ className?: string;
4
+ customRef?: (node: HTMLDivElement) => void;
5
+ }>): import("react").JSX.Element;
2
6
  export default function BookmarkContainer(props: BasicChannelTabsProps & {
3
7
  userId: string;
4
8
  }): import("react").JSX.Element;
@@ -3,7 +3,16 @@ import { JSX } from "react";
3
3
  export declare const NotificationDot: ({ channelIds }: {
4
4
  channelIds: string[];
5
5
  }) => JSX.Element | null;
6
+ interface TabNumberBadgeProps {
7
+ number: number;
8
+ position: "left" | "right";
9
+ isSelected: boolean;
10
+ isCompact: boolean;
11
+ isHovered: boolean;
12
+ }
13
+ export declare const TabNumberBadge: ({ number, position, isSelected, isCompact, isHovered }: TabNumberBadgeProps) => JSX.Element | null;
6
14
  export default function ChannelTab(props: ChannelTabsProps & {
7
15
  index: number;
8
16
  }): JSX.Element;
9
17
  export declare const PreviewTab: (props: ChannelTabsProps) => JSX.Element;
18
+ export {};
@@ -1,3 +1,7 @@
1
- import { BasicChannelTabsProps } from "../util";
1
+ import { BasicChannelTabsProps, ChannelTabsProps } from "../util";
2
+ type TabSet = Record<string, ChannelTabsProps[]>;
2
3
  export default function ChannelsTabsContainer(props: BasicChannelTabsProps): import("react").JSX.Element | null;
3
- export declare function ChannelTabsPreview(p: any): import("react").JSX.Element;
4
+ export declare function ChannelTabsPreview(p: {
5
+ setValue: (v: TabSet) => void;
6
+ }): import("react").JSX.Element;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import { JSX } from "react";
2
+ export declare function KeybindSettings(): JSX.Element;
@@ -15,6 +15,8 @@ declare const _default: {
15
15
  contextMenus: {
16
16
  "channel-mention-context": NavContextMenuPatchCallback;
17
17
  "channel-context": NavContextMenuPatchCallback;
18
+ "user-context": NavContextMenuPatchCallback;
19
+ "gdm-context": NavContextMenuPatchCallback;
18
20
  };
19
21
  readonly displayDescription: string;
20
22
  patches: {
@@ -41,7 +43,6 @@ declare const _default: {
41
43
  };
42
44
  tabSet: {
43
45
  readonly label: string;
44
- readonly description: string;
45
46
  component: typeof import("./components/ChannelTabsContainer").ChannelTabsPreview;
46
47
  type: import("../../utils/types").OptionType.COMPONENT;
47
48
  default: {};
@@ -135,14 +136,14 @@ declare const _default: {
135
136
  })[];
136
137
  restartNeeded: true;
137
138
  };
138
- enableHotkeys: {
139
+ enableNumberKeySwitching: {
139
140
  readonly label: string;
140
141
  readonly description: string;
141
142
  type: import("../../utils/types").OptionType.BOOLEAN;
142
143
  default: true;
143
144
  restartNeeded: false;
144
145
  };
145
- hotkeyCount: {
146
+ numberKeySwitchCount: {
146
147
  readonly label: string;
147
148
  readonly description: string;
148
149
  type: import("../../utils/types").OptionType.SLIDER;
@@ -150,6 +151,82 @@ declare const _default: {
150
151
  default: number;
151
152
  stickToMarkers: true;
152
153
  };
154
+ enableCloseTabShortcut: {
155
+ readonly label: string;
156
+ readonly description: string;
157
+ type: import("../../utils/types").OptionType.BOOLEAN;
158
+ default: true;
159
+ restartNeeded: false;
160
+ };
161
+ enableNewTabShortcut: {
162
+ readonly label: string;
163
+ readonly description: string;
164
+ type: import("../../utils/types").OptionType.BOOLEAN;
165
+ default: true;
166
+ restartNeeded: false;
167
+ };
168
+ enableTabCycleShortcut: {
169
+ readonly label: string;
170
+ readonly description: string;
171
+ type: import("../../utils/types").OptionType.BOOLEAN;
172
+ default: true;
173
+ restartNeeded: false;
174
+ };
175
+ keybindsSection: {
176
+ readonly label: string;
177
+ type: import("../../utils/types").OptionType.COMPONENT;
178
+ component: typeof import("./components/KeybindSettings").KeybindSettings;
179
+ };
180
+ closeTabKeybind: {
181
+ readonly label: string;
182
+ readonly description: string;
183
+ type: import("../../utils/types").OptionType.STRING;
184
+ default: string;
185
+ hidden: true;
186
+ };
187
+ newTabKeybind: {
188
+ readonly label: string;
189
+ readonly description: string;
190
+ type: import("../../utils/types").OptionType.STRING;
191
+ default: string;
192
+ hidden: true;
193
+ };
194
+ cycleTabForwardKeybind: {
195
+ readonly label: string;
196
+ readonly description: string;
197
+ type: import("../../utils/types").OptionType.STRING;
198
+ default: string;
199
+ hidden: true;
200
+ };
201
+ cycleTabBackwardKeybind: {
202
+ readonly label: string;
203
+ readonly description: string;
204
+ type: import("../../utils/types").OptionType.STRING;
205
+ default: string;
206
+ hidden: true;
207
+ };
208
+ showTabNumbers: {
209
+ readonly label: string;
210
+ readonly description: string;
211
+ type: import("../../utils/types").OptionType.BOOLEAN;
212
+ default: false;
213
+ restartNeeded: false;
214
+ };
215
+ tabNumberPosition: {
216
+ readonly label: string;
217
+ readonly description: string;
218
+ type: import("../../utils/types").OptionType.SELECT;
219
+ readonly options: ({
220
+ label: string;
221
+ value: string;
222
+ default: boolean;
223
+ } | {
224
+ label: string;
225
+ value: string;
226
+ default?: undefined;
227
+ })[];
228
+ restartNeeded: false;
229
+ };
153
230
  animations: {
154
231
  readonly label: string;
155
232
  type: import("../../utils/types").OptionType.COMPONENT;
@@ -302,6 +379,13 @@ declare const _default: {
302
379
  default: false;
303
380
  restartNeeded: false;
304
381
  };
382
+ newTabButtonBehavior: {
383
+ readonly label: string;
384
+ readonly description: string;
385
+ type: import("../../utils/types").OptionType.BOOLEAN;
386
+ default: true;
387
+ restartNeeded: false;
388
+ };
305
389
  oneTabPerServer: {
306
390
  readonly label: string;
307
391
  readonly description: string;
@@ -335,7 +419,6 @@ declare const _default: {
335
419
  };
336
420
  tabSet: {
337
421
  readonly label: string;
338
- readonly description: string;
339
422
  component: typeof import("./components/ChannelTabsContainer").ChannelTabsPreview;
340
423
  type: import("../../utils/types").OptionType.COMPONENT;
341
424
  default: {};
@@ -429,14 +512,14 @@ declare const _default: {
429
512
  })[];
430
513
  restartNeeded: true;
431
514
  };
432
- enableHotkeys: {
515
+ enableNumberKeySwitching: {
433
516
  readonly label: string;
434
517
  readonly description: string;
435
518
  type: import("../../utils/types").OptionType.BOOLEAN;
436
519
  default: true;
437
520
  restartNeeded: false;
438
521
  };
439
- hotkeyCount: {
522
+ numberKeySwitchCount: {
440
523
  readonly label: string;
441
524
  readonly description: string;
442
525
  type: import("../../utils/types").OptionType.SLIDER;
@@ -444,6 +527,82 @@ declare const _default: {
444
527
  default: number;
445
528
  stickToMarkers: true;
446
529
  };
530
+ enableCloseTabShortcut: {
531
+ readonly label: string;
532
+ readonly description: string;
533
+ type: import("../../utils/types").OptionType.BOOLEAN;
534
+ default: true;
535
+ restartNeeded: false;
536
+ };
537
+ enableNewTabShortcut: {
538
+ readonly label: string;
539
+ readonly description: string;
540
+ type: import("../../utils/types").OptionType.BOOLEAN;
541
+ default: true;
542
+ restartNeeded: false;
543
+ };
544
+ enableTabCycleShortcut: {
545
+ readonly label: string;
546
+ readonly description: string;
547
+ type: import("../../utils/types").OptionType.BOOLEAN;
548
+ default: true;
549
+ restartNeeded: false;
550
+ };
551
+ keybindsSection: {
552
+ readonly label: string;
553
+ type: import("../../utils/types").OptionType.COMPONENT;
554
+ component: typeof import("./components/KeybindSettings").KeybindSettings;
555
+ };
556
+ closeTabKeybind: {
557
+ readonly label: string;
558
+ readonly description: string;
559
+ type: import("../../utils/types").OptionType.STRING;
560
+ default: string;
561
+ hidden: true;
562
+ };
563
+ newTabKeybind: {
564
+ readonly label: string;
565
+ readonly description: string;
566
+ type: import("../../utils/types").OptionType.STRING;
567
+ default: string;
568
+ hidden: true;
569
+ };
570
+ cycleTabForwardKeybind: {
571
+ readonly label: string;
572
+ readonly description: string;
573
+ type: import("../../utils/types").OptionType.STRING;
574
+ default: string;
575
+ hidden: true;
576
+ };
577
+ cycleTabBackwardKeybind: {
578
+ readonly label: string;
579
+ readonly description: string;
580
+ type: import("../../utils/types").OptionType.STRING;
581
+ default: string;
582
+ hidden: true;
583
+ };
584
+ showTabNumbers: {
585
+ readonly label: string;
586
+ readonly description: string;
587
+ type: import("../../utils/types").OptionType.BOOLEAN;
588
+ default: false;
589
+ restartNeeded: false;
590
+ };
591
+ tabNumberPosition: {
592
+ readonly label: string;
593
+ readonly description: string;
594
+ type: import("../../utils/types").OptionType.SELECT;
595
+ readonly options: ({
596
+ label: string;
597
+ value: string;
598
+ default: boolean;
599
+ } | {
600
+ label: string;
601
+ value: string;
602
+ default?: undefined;
603
+ })[];
604
+ restartNeeded: false;
605
+ };
447
606
  animations: {
448
607
  readonly label: string;
449
608
  type: import("../../utils/types").OptionType.COMPONENT;
@@ -596,6 +755,13 @@ declare const _default: {
596
755
  default: false;
597
756
  restartNeeded: false;
598
757
  };
758
+ newTabButtonBehavior: {
759
+ readonly label: string;
760
+ readonly description: string;
761
+ type: import("../../utils/types").OptionType.BOOLEAN;
762
+ default: true;
763
+ restartNeeded: false;
764
+ };
599
765
  oneTabPerServer: {
600
766
  readonly label: string;
601
767
  readonly description: string;
@@ -613,6 +779,7 @@ declare const _default: {
613
779
  restartNeeded: false;
614
780
  };
615
781
  }>, {}>;
782
+ start(): void;
616
783
  containerHeight: number;
617
784
  flux: {
618
785
  CHANNEL_SELECT(data: {