import type { ApiCall, ArgusState } from '../types';
import type { MCPClient } from '../../../../providers/mcp/client';
import type { MCPTool } from '../../../../providers/mcp/types';
/**
 * Truncate/summarize large tool results to prevent token limit errors
 * Keeps only essential fields and limits array sizes
 */
export declare const truncateToolResult: (result: any) => any;
export declare const estimateTokens: (messages: any[]) => number;
export declare const truncateMessage: (msg: any, maxChars: number) => any;
/**
 * Create a LangChain-style callback handler to capture ACTUAL token usage
 * from the underlying LLM and store it on state.metadata.tokenUsage.
 */
export declare const createTokenUsageCallbackForAgent: (state: ArgusState) => any;
/**
 * Handle the case where the agent did not call any tools.
 * Returns a safe, guardrailed answer for greetings / identity questions
 * and a telemetry-not-found message otherwise.
 */
export declare const buildNoToolCallsAnswer: (state: ArgusState) => string;
/**
 * Append a debug block with tools used and filters applied to the answer,
 * and return the updated answer plus tool summary metadata.
 */
export declare const appendDebugToolsAndFilters: (answer: string, apiCalls: ApiCall[]) => {
    answer: string;
    apiToolsSummary?: string;
    apiTools: string[];
};
/**
 * Convert custom Tool to LangChain StructuredTool
 */
export declare const convertToolToLangChain: (customTool: any, projectId?: string, orgId?: string, stateFilters?: Record<string, any>, apiCalls?: ApiCall[]) => any;
/**
 * LangChain tool wrapper around runClickhouseTextToSql.
 * This lets the agent directly generate and execute ClickHouse SQL against telemetry tables.
 */
export declare const createClickhouseTextToSqlLangChainTool: (state: ArgusState, apiCalls: ApiCall[]) => any;
export declare const createGetEvaluationAudioLangChainTool: (state: ArgusState, apiCalls: ApiCall[]) => any;
/**
 * Convert MCP Tool to LangChain StructuredTool
 */
export declare const convertMCPToolToLangChain: (mcpTool: MCPTool, mcpClient: MCPClient, projectId?: string, orgId?: string, stateFilters?: Record<string, any>, apiCalls?: ApiCall[]) => any;
//# sourceMappingURL=nodeHelperFuncitons.d.ts.map