import { Commands } from "../api/Commands"; import { Patcher } from "../api/Patcher"; import { Settings } from "../api/Settings"; import { Logger } from "../utils/Logger"; /** * Plugin class * You may pass a Settings Schema to have calls to * this.settings.get and this.settings.set validated and typed strongly */ export default class Plugin { readonly settings: Settings; readonly commands: Commands; readonly logger: Logger; readonly patcher: Patcher; constructor(settings: Settings); get name(): string; /** * The start method is called when your plugin is started */ start(): void; /** * The stop method is called when your plugin is stopped. * By default, this unregisters all commands and patches, so unless * you need to do more cleanup than that, there is no need to overwrite this. */ stop(): void; }