/**
 * 劫持 XMLHttpRequest 的响应数据
 *
 * 拦截指定 URL 的 XHR 请求，修改或读取响应内容。
 * 支持 JSON 对象、HTML Document 和纯文本格式的响应。
 *
 * @param hookUrl URL 匹配函数，返回 true 表示需要劫持该 URL 的请求
 * @param callback 响应处理回调函数
 *   - 参数1: 解析后的响应数据
 *   - 参数2: 当前请求的 URL
 *   - 返回值: 字符串则替换响应内容，undefined 则保持原响应
 *
 * @warn 此函数会修改全局 XMLHttpRequest 的行为，请在页面脚本执行前注入
 * @warn 请一次处理完所有需要劫持的请求，多次使用可能导致页面网络请求出现问题
 * @warn 无法劫持二进制响应（如图片）或 http-only 等特殊 Cookie
 *
 * @example
 * ```ts
 * // 修改 B 站动态主页的直播用户列表（添加黑名单过滤）
 * hookXhr(
 *   (url) => url.includes('/polymer/web-dynamic/v1/portal'),
 *   (response, url) => {
 *     const blackList = [1, 2];
 *     response.data.live_users.items = response.data.live_users.items.filter(
 *       item => !blackList.includes(item.mid)
 *     );
 *     return JSON.stringify(response);
 *   }
 * );
 * ```
 */
export declare const hookXhr: <T extends string | Record<string, unknown> | Document>(hookUrl: (url: string) => boolean, callback: (response: T, requestUrl: string) => undefined | string) => void;
