Vencord/src/globals.d.ts

62 lines
1.9 KiB
TypeScript
Raw Normal View History

2022-10-21 19:17:06 -04:00
/*
* Vencord, a modification for Discord's desktop app
* Copyright (c) 2022 Vendicated and contributors
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
2022-10-26 07:54:23 -04:00
2022-08-28 20:25:27 -04:00
declare global {
/**
* This exists only at build time, so references to it in patches should insert it
* via String interpolation OR use different replacement code based on this
* but NEVER refrence it inside the patched code
*
* @example
* // BAD
* replace: "IS_WEB?foo:bar"
* // GOOD
* replace: IS_WEB ? "foo" : "bar"
* // also good
* replace: `${IS_WEB}?foo:bar`
*/
export var IS_WEB: boolean;
export var IS_DEV: boolean;
export var IS_STANDALONE: boolean;
2022-08-29 12:45:58 -04:00
export var VencordNative: typeof import("./VencordNative").default;
2022-08-29 14:27:47 -04:00
export var Vencord: typeof import("./Vencord");
2022-08-29 12:11:44 -04:00
export var appSettings: {
set(setting: string, v: any): void;
};
/**
* Only available when running in Electron, undefined on web.
* Thus, avoid using this or only use it inside an {@link IS_WEB} guard.
*
* If you really must use it, mark your plugin as Desktop App only via
* `target: "DESKTOP"`
*/
2022-10-09 13:48:42 -04:00
export var DiscordNative: any;
2022-08-29 12:11:44 -04:00
2022-08-28 20:25:27 -04:00
interface Window {
2022-08-29 12:11:44 -04:00
webpackChunkdiscord_app: {
push(chunk: any): any;
2022-08-29 14:27:47 -04:00
pop(): any;
2022-08-29 12:11:44 -04:00
};
[k: string]: any;
2022-08-28 20:25:27 -04:00
}
}
export { };