import type { VextAdapter } from "../../types/adapter.js";
import type { VextApp } from "../../types/app.js";
/**
 * createHonoAdapter — 创建基于 Hono 的 VextAdapter 实例
 *
 * 将 Hono 作为底层 HTTP 路由引擎，实现 VextAdapter 接口。
 * 所有路由 / 中间件 / 错误处理都通过 Hono 的路由匹配 + vext 的中间件链执行。
 *
 * 架构说明：
 *   - Hono 仅用于路由匹配（trie router），不使用 Hono 自带的中间件机制
 *   - 中间件链执行由 vext 自己的 executeChain 实现（洋葱模型）
 *   - 请求 / 响应对象在 Hono route handler 内转换为 VextRequest / VextResponse
 *   - 全局中间件通过 registerMiddleware() 收集，在每个路由执行时拼接到链头
 *
 * HTTP 服务器：
 *   - 使用 Node.js 原生 http.createServer
 *   - 将 Node.js IncomingMessage 转为 Web Request 交给 Hono 处理
 *   - 将 Hono 返回的 Web Response 写回 Node.js ServerResponse
 *   - buildHandler() 返回 Node.js (req, res) handler，用于 dev 模式热重载替换
 *
 * Response 捕获机制（ResponseBox）：
 *   Hono 的 route handler 必须返回 Response 对象。但 vext 的 executeChain 是 void 的，
 *   VextResponse 的发送方法（json/text/...）内部调用 c.json()/c.text() 等 Hono API，
 *   这些 API 返回 Response 对象。通过 ResponseBox 容器捕获这些 Response，
 *   route handler 最后从 box.value 取出 Response 返回给 Hono。
 *
 * @param app VextApp 实例（用于传递给 createVextRequest 的 app 引用）
 * @returns VextAdapter 实例
 */
export declare function createHonoAdapter(app: VextApp): VextAdapter;
