/**
 * Token budget manager for enforcing token limits
 */
export declare class TokenBudgetManager {
    private budget;
    private used;
    private compressionRatio;
    constructor(initialBudget?: number);
    /**
     * Set the token budget
     */
    setBudget(budget: number): void;
    /**
     * Get remaining tokens
     */
    getRemaining(): number;
    /**
     * Get used tokens
     */
    getUsed(): number;
    /**
     * Get total budget
     */
    getTotal(): number;
    /**
     * Add tokens to used count
     */
    useTokens(tokens: number): void;
    /**
     * Reset used tokens
     */
    reset(): void;
    /**
     * Check if we're over budget
     */
    isOverBudget(): boolean;
    /**
     * Get compression ratio achieved
     */
    getCompressionRatio(): number;
    /**
     * Update compression ratio based on savings
     */
    updateCompressionRatio(original: number, saved: number): void;
    /**
     * Truncate text to fit within remaining budget
     */
    truncateToFit(text: string): {
        result: string;
        truncated: boolean;
    };
    /**
     * Estimate token count for text
     */
    estimateTokens(text: string): number;
    /**
     * Get budget status as percentage
     */
    getBudgetUsagePercent(): number;
}
//# sourceMappingURL=budget.d.ts.map