/**
 * Client-side context budget helpers — aligned with V3 server context_budget.py.
 * Initial agent context JSON should leave headroom for system prompt + tool loops.
 */
export declare const DEFAULT_CODE_RUNTIME_CTX: number;
export declare const CONTEXT_SAFETY_MARGIN: number;
export declare const DEFAULT_MAX_OUTPUT_TOKENS: number;
export declare const TOKEN_BUDGET_SAFETY_FACTOR: number;
export declare const CHARS_PER_TOKEN_EST = 4;
/** Max chars per file in workspaceFiles hydration (matches server TOOL_HISTORY cap order-of-magnitude). */
export declare const WORKSPACE_FILE_CHAR_CAP: number;
export declare function estimateTokens(text: string): number;
export declare function estimateTokensForBudget(text: string): number;
export declare function estimateJsonTokens(value: unknown): number;
export declare function resolveInputBudget(runtimeNctx?: number, maxOutput?: number): number;
/**
 * Char limit for the initial V3 context JSON payload.
 * ~45% of input token budget × 4 chars/token, clamped 32k–100k.
 */
export declare function resolveV3ContextCharLimit(runtimeNctx?: number): number;
export declare function compactToolListingOutput(name: string, output: string, charCap: number): string;
export interface ContextCompactionMeta {
    applied: boolean;
    beforeChars: number;
    afterChars: number;
    charLimit: number;
    estimatedInputBudget: number;
    phases: string[];
}
