/**
 * ThoughtSignature Validator
 *
 * 提供严格的 thoughtSignature 验证功能，用于 Claude/Gemini thinking 块的签名验证。
 * 参考 gcli2api 的实现，确保与上游 API 的兼容性。
 */
import type { JsonObject, JsonValue } from '../hub/types/json.js';
export interface ThoughtSignatureValidationOptions {
    /**
     * 最小签名长度（默认 50 个字符）
     */
    minLength?: number;
    /**
     * 是否允许空 thinking + 任意签名（trailing signature case）
     * 默认 true
     */
    allowEmptyThinkingWithSignature?: boolean;
    /**
     * 是否在验证失败时将 thinking 转换为文本
     * 默认 true
     */
    convertToTextOnFailure?: boolean;
}
/**
 * 检查 thinking 块是否有有效的 thoughtSignature
 *
 * @param block - thinking 块对象
 * @param options - 验证选项
 * @returns 是否有效
 */
export declare function hasValidThoughtSignature(block: unknown, options?: ThoughtSignatureValidationOptions): boolean;
/**
 * 清理 thinking 块，移除额外字段，保留有效签名
 *
 * @param block - thinking 块对象
 * @returns 清理后的块
 */
export declare function sanitizeThinkingBlock(block: unknown): JsonObject;
/**
 * 过滤消息中的无效 thinking 块
 *
 * @param messages - Anthropic messages 列表（会被修改）
 * @param options - 验证选项
 */
export declare function filterInvalidThinkingBlocks(messages: JsonValue[], options?: ThoughtSignatureValidationOptions): void;
/**
 * 移除末尾未签名的 thinking 块
 *
 * @param blocks - content blocks 列表（会被修改）
 * @param options - 验证选项
 */
export declare function removeTrailingUnsignedThinkingBlocks(blocks: JsonValue[], options?: ThoughtSignatureValidationOptions): void;
