import type { PluginExports, RepluggedPlugin } from "../../types"; interface PluginWrapper extends RepluggedPlugin { exports: PluginExports | undefined; } /** * @hidden */ export declare const plugins: Map; /** * Get the exports of a plugin. * @param id Plugin ID * @returns Exports of the plugin. * * @remarks * This is primarily intended to shorten plaintext patches that need to access exported * functions or variables from their respective plugins. * Instead of writing `replugged.plugins.plugins.get("id.here").exports`, * developers can write `replugged.plugins.getExports("id.here")`. */ export declare function getExports(id: string): PluginExports | undefined; /** * Load all plugins * * @remarks * You may need to reload Discord after adding a new plugin before it's available. */ export declare function loadAll(): void; /** * Start a plugin * @param id Plugin ID (RDNN) * * @remarks * Plugin must be loaded first with {@link register} or {@link loadAll} */ export declare function start(id: string): Promise; /** * Start all plugins * * @remarks * Plugins must be loaded first with {@link register} or {@link loadAll} */ export declare function startAll(): Promise; /** * Stop a plugin * @param id Plugin ID (RDNN) */ export declare function stop(id: string): Promise; /** * Stop all plugins */ export declare function stopAll(): Promise; /** * @hidden * @internal */ export declare function runPlaintextPatches(): void; /** * Reload a plugin to apply changes * @param id Plugin ID (RDNN) * * @remarks * Some plugins may require Discord to be reloaded to apply changes. */ export declare function reload(id: string): Promise; export declare function enable(id: string): Promise; export declare function disable(id: string): Promise; export declare function uninstall(id: string): Promise; export declare function getDisabled(): string[]; export {};