/** * ThinkHive SDK - LLM Costs API * * LLM cost tracking and optimization analytics */ /** Options for cost summary and breakdown */ export interface CostQueryOptions { period?: 'day' | 'week' | 'month' | 'quarter' | 'year'; } /** Cost summary across all agents */ export interface CostSummary { totalCost: number; totalTokens: number; totalRequests: number; period: string; breakdown: CostBreakdownItem[]; } /** Cost breakdown item */ export interface CostBreakdownItem { model: string; provider: string; cost: number; tokens: number; requests: number; inputTokens: number; outputTokens: number; } /** Agent-level cost breakdown */ export interface AgentCostBreakdown { agentId: string; totalCost: number; totalTokens: number; totalRequests: number; period: string; models: CostBreakdownItem[]; } /** Cost savings data */ export interface CostSavings { totalSaved: number; savingsPercent: number; optimizations: OptimizationEntry[]; } /** A single optimization entry */ export interface OptimizationEntry { type: string; description: string; savedAmount: number; appliedAt: string; } /** Optimization statistics */ export interface OptimizationStats { cacheHitRate: number; avgTokenReduction: number; modelDowngradeCount: number; totalOptimizations: number; recommendations: OptimizationRecommendation[]; } /** Optimization recommendation */ export interface OptimizationRecommendation { type: string; description: string; estimatedSavings: number; priority: 'low' | 'medium' | 'high'; } /** * LLM Costs API client for tracking and optimizing LLM spending */ export declare const llmCosts: { /** * Get cost summary across all agents * * @param opts - Period filter option * @returns Cost summary with breakdown */ getSummary(opts?: CostQueryOptions): Promise; /** * Get cost breakdown for a specific agent * * @param agentId - The agent ID * @param opts - Period filter option * @returns Agent cost breakdown */ getBreakdown(agentId: string, opts?: CostQueryOptions): Promise; /** * Get cost savings from optimizations * * @returns Savings data and optimization history */ getSavings(): Promise; /** * Get optimization statistics and recommendations * * @returns Optimization stats with recommendations */ getOptimizationStats(): Promise; /** Alias for getSummary() */ summary(opts?: CostQueryOptions): Promise; }; /** * Format a cost amount as a currency string * * @param amount - The cost amount in dollars * @returns Formatted string (e.g., "$12.34") */ export declare function formatCost(amount: number): string; export { llmCosts as default };