import type { ChatMessage, ToolDefinition } from "../types.js"; export interface ContextBreakdown { readonly estimatedTotalTokens: number; readonly systemTokens: number; readonly userTokens: number; readonly assistantTokens: number; readonly toolResultTokens: number; readonly toolSchemaTokens: number; readonly messageCount: number; readonly systemMessageCount: number; readonly userMessageCount: number; readonly assistantMessageCount: number; readonly toolMessageCount: number; readonly systemParts: { readonly constitutionTokens: number; readonly planTokens: number; readonly scopeTokens: number; readonly sessionStateTokens: number; readonly compactionMemoryTokens: number; readonly otherSystemTokens: number; }; readonly toolDefinitionCount: number; } export declare function buildContextBreakdown(messages: readonly ChatMessage[], tools?: readonly ToolDefinition[] | undefined): ContextBreakdown; export declare function contextBreakdownAuditPayload(breakdown: ContextBreakdown): Record; export declare function describeDominantContextBlock(messages: readonly ChatMessage[], tools?: readonly ToolDefinition[] | undefined): string; export declare function toolSchemaHash(tools: readonly ToolDefinition[] | undefined): string;