import type { HudConfig } from './config.js'; import type { GitStatus } from './git.js'; export interface StdinData { transcript_path?: string; cwd?: string; model?: { id?: string; display_name?: string; }; context_window?: { context_window_size?: number; current_usage?: { input_tokens?: number; output_tokens?: number; cache_creation_input_tokens?: number; cache_read_input_tokens?: number; } | null; used_percentage?: number | null; remaining_percentage?: number | null; }; rate_limits?: { five_hour?: { used_percentage?: number | null; resets_at?: number | null; } | null; seven_day?: { used_percentage?: number | null; resets_at?: number | null; } | null; } | null; } export interface ToolEntry { id: string; name: string; target?: string; status: 'running' | 'completed' | 'error'; startTime: Date; endTime?: Date; } export interface AgentEntry { id: string; type: string; model?: string; description?: string; status: 'running' | 'completed'; startTime: Date; endTime?: Date; } export interface TodoItem { content: string; status: 'pending' | 'in_progress' | 'completed'; } export interface UsageData { fiveHour: number | null; sevenDay: number | null; fiveHourResetAt: Date | null; sevenDayResetAt: Date | null; } export interface MemoryInfo { totalBytes: number; usedBytes: number; freeBytes: number; usedPercent: number; } /** Check if usage limit is reached (either window at 100%) */ export declare function isLimitReached(data: UsageData): boolean; export interface TranscriptData { tools: ToolEntry[]; agents: AgentEntry[]; todos: TodoItem[]; sessionStart?: Date; sessionName?: string; } export interface RenderContext { stdin: StdinData; transcript: TranscriptData; claudeMdCount: number; rulesCount: number; mcpCount: number; hooksCount: number; sessionDuration: string; gitStatus: GitStatus | null; usageData: UsageData | null; memoryUsage: MemoryInfo | null; config: HudConfig; extraLabel: string | null; claudeCodeVersion?: string; } //# sourceMappingURL=types.d.ts.map