/** * Token validation utilities for streaming responses and input validation */ /** * Approximate characters per token (used for token estimation) * Can be overridden by importing from config-utils if needed */ export declare const APPROX_CHARS_PER_TOKEN = 4; /** * Estimates token count from text using character approximation * @param text - Text to estimate tokens for * @returns Estimated token count */ export declare function estimateTokenCount(input: string | number): number; /** * Streaming token counter for monitoring output token limits */ export declare class StreamingTokenCounter { private tokenCount; private charCount; private maxTokens; private provider; constructor(maxTokens: number, provider?: string); /** * Add text chunk and update token count * @param chunk - Text chunk from streaming response * @returns Object with current count and whether limit exceeded */ addChunk(chunk: string): { tokenCount: number; exceeded: boolean; shouldStop: boolean; }; /** * Get current token statistics */ getStats(): { tokenCount: number; charCount: number; maxTokens: number; utilization: number; }; /** * Reset counter for new streaming session */ reset(): void; /** * Check if approaching token limit (80% threshold) */ isApproachingLimit(): boolean; /** * Get warning message if approaching or exceeding limits */ getWarningMessage(): string | null; } /** * Validates input prompt against token limits * @param prompt - Input prompt to validate * @param maxInputTokens - Maximum allowed input tokens * @param provider - Provider name for error messages * @returns Validation result with token count and any errors */ export declare function validateInputTokens(prompt: string, maxInputTokens: number, provider?: string): { valid: boolean; tokenCount: number; error?: string; }; /** * Creates a streaming wrapper that monitors token limits * @param stream - Original async generator * @param maxTokens - Maximum output tokens * @param provider - Provider name for logging * @returns Token-aware streaming generator */ export declare function createTokenAwareStream(stream: AsyncGenerator, maxTokens: number, provider?: string): AsyncGenerator; //# sourceMappingURL=TokenValidation.d.ts.map