/**
 * MonSQLize 内置插件核心实现
 *
 * 负责整个 MonSQLize 生命周期编排：
 *   1. 读取并校验 database 配置
 *   2. 构建 MonSQLize 构造函数配置（buildMonSQLizeConfig）
 *   3. 动态 import monsqlize 包，创建实例
 *   4. 注册 onClose 钩子（安全模式：先注册再执行 I/O）
 *   5. 连接数据库（Fail Fast）
 *   6. 加载 Model 定义（本地 + shared 包）
 *   7. 挂载 app.db（MonSQLizeConnection）+ app.monsqlize（原始实例）
 *
 * 设计原则：
 *   - 先注册 onClose 再执行 I/O（确保连接异常时也能清理）
 *   - Fail Fast：配置缺失或连接失败直接抛出，终止启动
 *   - 动态 import monsqlize（避免未安装时框架启动失败）
 *   - 日志桥接：将 MonSQLize 日志桥接到 app.logger
 *
 * @module lib/plugins/monsqlize/plugin
 * @see 13-monsqlize-plugin.md §2.3（插件核心实现）
 */
import type { VextPluginContext } from "../../../types/plugin.js";
/**
 * setupMonSQLize — 插件 setup 入口
 *
 * 由内置插件的 setup() 调用，完成 MonSQLize 的完整初始化流程。
 *
 * @param app     插件上下文（config.database 已可用）
 * @param srcDir  src/ 目录的绝对路径（用于定位 models/ 目录）
 * @throws 配置缺失或连接失败时抛出错误（Fail Fast）
 */
export declare function setupMonSQLize(app: VextPluginContext, srcDir: string): Promise<void>;
