export interface LLMUsageRecord { timestamp: string; runId: string; providerId: string; model: string; /** Uncached input tokens. */ inputTokens: number; outputTokens: number; cacheReadTokens?: number; cacheCreationTokens?: number; estimatedCostUsd?: number; durationMs: number; success: boolean; error?: string; } export interface LLMUsageSummary { totalRequests: number; totalInputTokens: number; totalOutputTokens: number; totalCacheReadTokens: number; totalCacheCreationTokens: number; totalCostUsd: number; costUnavailableRequests: number; byModel: Record; byProvider: Record; periodStart: string; periodEnd: string; } export declare function registerModelPricing(model: string, inputPer1K: number, outputPer1K: number): void; export declare function resolveLLMUsageLogPath(options?: { logPath?: string; workspaceDir?: string; env?: NodeJS.ProcessEnv; }): string; export declare function logLLMUsage(record: Omit, options?: { logPath?: string; }): Promise; export declare function readUsageLog(options?: { logPath?: string; }): Promise; export declare function summarizeUsage(records: LLMUsageRecord[], periodStart?: string, periodEnd?: string): LLMUsageSummary; export declare function formatUsageSummary(summary: LLMUsageSummary): string; export declare function estimateLLMCost(model: string, inputTokens: number, outputTokens: number): number | undefined; //# sourceMappingURL=llm-usage.d.ts.map