import type { AgentMessage } from "@gajae-code/agent-core"; import type { Model } from "@gajae-code/ai/core"; import type { AgentSession } from "../../session/agent-session"; import type { theme as Theme } from "../theme/theme"; export { computeNonMessageTokens, estimateSkillsTokens, estimateToolSchemaTokens, } from "../../session/context-estimation"; type CategoryId = "systemPrompt" | "systemContext" | "rules" | "tools" | "skills" | "messages" | "lastUserTurn"; interface CategoryInfo { id: CategoryId; label: string; tokens: number; color: "accent" | "warning" | "success" | "userMessageText" | "customMessageLabel"; glyph: string; } export interface ContextBreakdown { model: Model | undefined; contextWindow: number; categories: CategoryInfo[]; lastUserTurnTokens: number; estimatedCategoryTotal: number; usedTokens: number | null; source: "provider_anchor" | "heuristic" | "unknown"; autoCompactBufferTokens: number; freeTokens: number; } /** * Compute a breakdown of estimated context usage by category for the active * session and model. */ export declare function computeContextBreakdown(session: AgentSession, options?: { messages?: readonly AgentMessage[]; }): ContextBreakdown; /** * Render a colorful context-usage panel as ANSI text. Output is a series of * lines pairing the grid (left) with the legend (right). */ export declare function renderContextUsage(breakdown: ContextBreakdown, theme: typeof Theme): string;