import { Logger } from 'koishi';
/**
 * 解析目标用户ID
 * @param arg - 包含用户ID信息的字符串，可能是@提及、纯数字ID等
 * @returns 解析出的用户ID，如果无法解析则返回原始输入或空字符串
 */
export declare function parseTarget(arg: string): string;
/**
 * 获取用户头像URL
 * @param session - 会话对象，包含用户信息
 * @param userId - 可选，要获取头像的用户ID，不提供则使用会话中的用户ID
 * @returns 用户头像的URL地址
 * @async
 */
export declare function getUserAvatar(session: any, userId?: string): Promise<string>;
/**
 * 发送消息并在指定时间后自动撤回
 * @param session - 会话对象，用于发送和撤回消息
 * @param message - 要发送的消息内容或消息ID
 * @param delay - 可选，撤回消息前等待的时间(毫秒)，默认为10000ms
 * @returns Promise<any> - 操作结果，通常为null
 * @async
 */
export declare function autoRecall(session: any, message: string | number, delay?: number): Promise<any>;
/**
 * 读取JSON文件并解析内容
 * @param filePath - JSON文件的完整路径
 * @param logger - 可选，用于记录操作日志的Logger实例
 * @returns 解析后的JSON数据对象，读取失败时返回null
 * @template T - 文件内容的类型
 */
export declare function readJsonFile<T>(filePath: string, logger?: Logger): T | null;
/**
 * 将数据写入JSON文件
 * @param filePath - 要写入的JSON文件路径
 * @param data - 要保存的数据对象
 * @param logger - 可选，用于记录操作日志的Logger实例
 * @returns 写入成功返回true，失败返回false
 */
export declare function writeJsonFile(filePath: string, data: any, logger?: Logger): boolean;
/**
 * 加载配置文件，如果不存在则创建默认配置
 * @param filePath - 配置文件的路径
 * @param defaultConfig - 默认配置对象
 * @param logger - 可选，用于记录操作日志的Logger实例
 * @returns 加载的配置对象或默认配置对象
 * @template T - 配置数据的类型
 */
export declare function loadOrCreateConfig<T>(filePath: string, defaultConfig: T, logger?: Logger): T;
/**
 * 发送API请求并处理响应
 * @param url - 请求的URL地址
 * @param options - 请求选项配置对象
 * @param options.method - 可选，请求方法，默认为'get'
 * @param options.data - 可选，请求体数据，用于POST请求
 * @param options.formData - 可选，表单数据
 * @param options.responseType - 可选，响应类型，默认为'json'
 * @param options.timeout - 可选，请求超时时间(毫秒)，默认为8000ms
 * @param logger - 可选，用于记录操作日志的Logger实例
 * @returns 请求成功返回响应数据，失败返回null
 * @template T - 返回数据的类型，默认为any
 * @async
 */
export declare function apiRequest<T = any>(url: string, options?: {
    method?: 'get' | 'post';
    data?: any;
    formData?: FormData;
    responseType?: 'json' | 'arraybuffer';
    timeout?: number;
}, logger?: Logger): Promise<T | null>;
/**
 * 将表情模板列表渲染为图片
 * @param ctx - 上下文对象，包含puppeteer实例
 * @param title - 列表的标题
 * @param templates - 要显示的模板数组
 * @returns 包含渲染图片数据的Buffer对象
 * @async
 */
export declare function renderTemplateListAsImage(ctx: any, title: string, templates: any[]): Promise<Buffer>;
/**
 * 将单个表情模板的详细信息渲染为图片
 * @param ctx - 上下文对象，包含puppeteer实例
 * @param template - 模板信息对象
 * @param previewImgUrl - 可选，模板预览图的URL或base64数据
 * @returns 包含渲染图片数据的Buffer对象
 * @async
 */
export declare function renderTemplateInfoAsImage(ctx: any, template: any, previewImgUrl?: string): Promise<Buffer>;
