import { AppContext, Bot, IPlugin } from '../index';
/**
 * Базовый класс для реализации плагинов.
 * Все подключаемые плагины должны быть реализованы с его использованием, иначе в дальнейшем можно получить ошибки при работе.
 */
export declare abstract class BasePlugin implements IPlugin {
    /**
     * Метод инициализации плагина.
     * Вызывается один раз при подключении через `bot.use()`.
     * @param appContext Контекст приложения
     * @param bot Основной класс приложения
     */
    abstract init(appContext: AppContext, bot: Bot): void;
    /**
     * Метод, который вызывается при уничтожении плагина.
     * В данном методе можно добавить отписку, либо выполнить другие действия.
     * @param _bot Основной класс приложения
     */
    destroy(_bot: Bot): void | Promise<void>;
}
