/**
 * Claude AI Token Usage Monitor
 * Real-time monitoring of Claude token consumption with burn rate analysis
 * Based on: https://github.com/Maciek-roboblog/Claude-Code-Usage-Monitor
 */
import { EventEmitter } from "events";
export interface TokenBlock {
    startTime: string;
    actualEndTime?: string;
    totalTokens: number;
    isActive: boolean;
    isGap: boolean;
}
export interface TokenUsageData {
    blocks: TokenBlock[];
}
export interface TokenStats {
    tokensUsed: number;
    tokensLeft: number;
    usagePercentage: number;
    burnRate: number;
    sessionDuration: number;
    timeToReset: number;
    predictedEndTime: Date;
    resetTime: Date;
}
export interface MonitorConfig {
    plan: 'pro' | 'max5' | 'max20' | 'custom_max';
    resetHour?: number;
    timezone: string;
    updateInterval: number;
}
export declare class ClaudeTokenMonitor extends EventEmitter {
    private config;
    private tokenLimit;
    private isRunning;
    private monitorProcess?;
    private lastStats?;
    constructor(config?: Partial<MonitorConfig>);
    private getTokenLimit;
    private runCCUsage;
    private tryClaudeCodeMetrics;
    private parseClaudeCodeSessions;
    private parseSessionToBlock;
    private calculateHourlyBurnRate;
    private getNextResetTime;
    private calculateStats;
    start(): Promise<void>;
    stop(): void;
    getLastStats(): TokenStats | undefined;
    isMonitoring(): boolean;
    updateConfig(config: Partial<MonitorConfig>): void;
}
export declare function formatTime(minutes: number): string;
export declare function createProgressBar(percentage: number, width?: number): string;
export declare function createTimeProgressBar(elapsed: number, total: number, width?: number): string;
//# sourceMappingURL=claude-token-monitor.d.ts.map