import type { AgentDbMessage, AgentMessage } from '../../types/sdk/message'; import type { JSONValue } from '../../types/utils/json'; import { type ToolResultKind, type ToolResultStorageScope } from '../../workspace/tool-result-storage'; import type { WorkspaceFilesystem } from '../../workspace/types'; import { type TokenCounter } from '../model/model-token-counter'; export declare const MAX_MODEL_TOOL_RESULT_TOKENS = 50000; export declare const EXPIRED_OFFLOADED_TOOL_RESULT: { _offloaded: true; expired: true; message: string; }; export interface ToolResultGuardStorage extends ToolResultStorageScope { filesystem: WorkspaceFilesystem; } export interface GuardedToolResult { historyOutput: JSONValue; wireOutput: unknown; truncated: boolean; offloaded: boolean; } export declare function guardToolResultForModel(output: unknown, tokenCounter?: TokenCounter, storage?: ToolResultGuardStorage, kind?: ToolResultKind): Promise; export declare function guardToolErrorForModel(errorText: string, tokenCounter?: TokenCounter, storage?: ToolResultGuardStorage): Promise; export declare function guardToolMessageForModel(message: AgentMessage, tokenCounter?: TokenCounter, storage?: ToolResultGuardStorage): Promise; export declare function sanitizeOffloadedToolResultsForMemory(messages: AgentDbMessage[]): AgentDbMessage[];