import type { Message } from '@agforge/core'; /** * 基于字符数估算文本的 token 数量。 * 简单的字符数估算:每 4 个字符约等于 1 个 token。 * * @param text - 要估算的文本 * @returns 估算的 token 数量 */ export declare const estimateTokensByChars: (text: string) => number; /** * 估算消息列表的 token 数量。 * * 优先从 assistant message 的 metadata.usage 中获取实际 token 信息, * 如果获取不到则退化为字符数估算。 * * 逻辑: * 1. 查找最后一条包含 metadata.usage 的 assistant message * 2. 如果找到,使用 totalTokens 作为基础(该 usage 反映的是 LLM 请求时的 token 消耗) * 3. 对 metadata 之后新增的消息使用字符估算 * 4. 如果找不到 metadata,则全部使用字符估算 * * @param messages - 消息列表 * @returns 估算的 token 数量 */ export declare const estimateMessagesTokens: (messages: ReadonlyArray) => number; /** * 基于字符数估算消息列表的 token 数量。 * 简单的字符数估算:每 4 个字符约等于 1 个 token。 * * @param messages - 消息列表 * @returns 估算的 token 数量 */ export declare const estimateMessagesTokensByChars: (messages: ReadonlyArray) => number;