/**
 * Universal Token Counter
 * Supports multiple LLM providers with accurate token counting
 */
import { LLMProvider } from './types';
export interface TokenCountResult {
    /** Total tokens */
    tokens: number;
    /** Characters */
    characters: number;
    /** Words */
    words: number;
    /** Estimated cost (USD) */
    estimatedCost: number;
    /** Breakdown by provider */
    breakdown: {
        provider: LLMProvider;
        tokens: number;
        cost: number;
    }[];
}
/**
 * Count tokens accurately for different providers
 */
export declare function countTokens(text: string, provider?: LLMProvider): number;
/**
 * Get detailed token count with cost estimation
 */
export declare function getTokenCount(text: string, provider?: LLMProvider, model?: string): TokenCountResult;
/**
 * Estimate output tokens (typically 20-30% of input for completions)
 */
export declare function estimateOutputTokens(inputTokens: number, provider?: LLMProvider): number;
