import type { Jsonifiable } from "type-fest"; interface RPCData { args: Record; cmd: string; } interface RPCCommand { scope?: string | { $any: string[]; }; handler: (data: RPCData) => Record | Promise> | void | Promise; } type Commands = Record; declare class RpcAPI { #private; /** * Register an RPC command. * @param name The command name. * @param command The command definition. * @returns Unregister function. */ registerRPCCommand(name: string, command: RPCCommand): () => void; /** * Unregister an RPC command. * @param name The command name. */ unregisterRPCCommand(name: string): void; /** * Wrap Discord's commands object with Replugged RPC commands. * @param commands The original commands object. * @returns The wrapped commands object. * @internal */ _getCommands(commands: Commands): Commands; } declare const _default: RpcAPI; export default _default;