import type { GCMessage } from "./sdk-types.js"; /** Rough token estimate: 1 token ≈ 4 chars */ export declare function estimateTokens(text: string): number; /** Estimate total tokens across a message array */ export declare function estimateMessageTokens(messages: GCMessage[]): number; /** Check if messages are approaching context limit and need compaction */ export declare function needsCompaction(messages: GCMessage[], contextWindow?: number): { needed: boolean; tokenEstimate: number; ratio: number; }; /** Truncate oversized tool results, keeping first and last portions */ export declare function truncateToolResults(messages: GCMessage[], maxCharsPerResult?: number): GCMessage[]; /** * Build a text representation of messages for summarization. * Strips deltas and system messages, keeps the substantive conversation. */ export declare function messagesToText(messages: GCMessage[]): string; /** * Generate a compaction prompt that can be sent to the model to summarize * the conversation so far. The caller runs the actual query. */ export declare function buildCompactPrompt(messages: GCMessage[]): string;