UNPKG

cost-claude

Version:

Claude Code cost monitoring, analytics, and optimization toolkit

76 lines 1.99 kB
import { EventEmitter } from 'events'; export interface BudgetConfig { daily?: number; weekly?: number; monthly?: number; total?: number; alertThresholds?: number[]; notifyOnExceed?: boolean; resetDates?: { daily?: string; weekly?: string; monthly?: string; }; } export interface BudgetStatus { daily: { used: number; limit: number; percentage: number; exceeded: boolean; }; weekly: { used: number; limit: number; percentage: number; exceeded: boolean; }; monthly: { used: number; limit: number; percentage: number; exceeded: boolean; }; total: { used: number; limit: number; percentage: number; exceeded: boolean; }; } export interface BudgetAlert { type: 'daily' | 'weekly' | 'monthly' | 'total'; threshold: number; used: number; limit: number; message: string; timestamp: Date; } export declare class BudgetManager extends EventEmitter { private static instance; private configPath; private statePath; private config; private usageState; private alertedThresholds; private constructor(); static getInstance(): BudgetManager; private loadConfig; private loadState; private saveConfig; private saveState; private getWeekStart; private checkResetDates; setBudget(type: 'daily' | 'weekly' | 'monthly' | 'total', amount: number): void; setAlertThresholds(thresholds: number[]): void; updateUsage(cost: number): Promise<void>; private checkBudgets; private formatAlertMessage; getStatus(): BudgetStatus; calculateCurrentPeriodUsage(projectPath: string): Promise<void>; reset(type?: 'daily' | 'weekly' | 'monthly' | 'total'): void; getConfig(): BudgetConfig; exportReport(): string; private createProgressBar; } //# sourceMappingURL=budget-manager.d.ts.map