/**
 * @license
 * Copyright 2025 Vybestack LLC
 * SPDX-License-Identifier: Apache-2.0
 */
export interface ToolOutputSettingsProvider {
    getEphemeralSettings(): Record<string, unknown>;
}
export declare const DEFAULT_MAX_TOKENS = 50000;
export declare const DEFAULT_TRUNCATE_MODE = "warn";
export declare const ESCAPE_BUFFER_PERCENTAGE = 0.8;
export declare function estimateTokens(text: string): number;
export declare function getEffectiveTokenLimit(maxTokens: number): number;
export interface OutputLimitConfig {
    maxTokens?: number;
    truncateMode?: 'warn' | 'truncate' | 'sample';
}
export interface TruncatedOutput {
    content: string;
    wasTruncated: boolean;
    originalTokens?: number;
    message?: string;
}
/**
 * Get output limit configuration from ephemeral settings
 */
export declare function getOutputLimits(config: ToolOutputSettingsProvider): OutputLimitConfig;
/**
 * Check if content exceeds token limit and handle according to truncate mode
 * Uses escape buffer to account for JSON stringification inflation
 */
export declare function limitOutputTokens(content: string, config: ToolOutputSettingsProvider, toolName: string): TruncatedOutput;
/**
 * Format output with truncation handling
 */
export declare function formatLimitedOutput(result: TruncatedOutput): {
    llmContent: string;
    returnDisplay: string;
};
