UNPKG

@microfox/usage-pricing

Version:

A TypeScript SDK for Tracking Pricing & Usage of any LLM and TypeScript AI SDK internally.

1,689 lines (1,686 loc) 52.7 kB
import { Usage, LLMUsage, BaseUsage, UsageTrackerConstructorOptions } from '@microfox/usage-tracker'; import { z } from 'zod'; declare const UsageWithPricingSchema: z.ZodIntersection<z.ZodObject<{ priceUSD: z.ZodNumber; originalPriceUSD: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { priceUSD: number; originalPriceUSD?: number | undefined; }, { priceUSD: number; originalPriceUSD?: number | undefined; }>, z.ZodIntersection<z.ZodObject<{ package: z.ZodString; timestamp: z.ZodOptional<z.ZodString>; markup: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { package: string; timestamp?: string | undefined; markup?: number | undefined; }, { package: string; timestamp?: string | undefined; markup?: number | undefined; }>, z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ type: z.ZodLiteral<"llm">; model: z.ZodOptional<z.ZodString>; promptTokens: z.ZodNumber; completionTokens: z.ZodNumber; }, "strip", z.ZodTypeAny, { type: "llm"; promptTokens: number; completionTokens: number; model?: string | undefined; }, { type: "llm"; promptTokens: number; completionTokens: number; model?: string | undefined; }>, z.ZodObject<{ type: z.ZodLiteral<"api_1">; requestKey: z.ZodOptional<z.ZodString>; requestCount: z.ZodNumber; requestData: z.ZodOptional<z.ZodNumber>; }, "strip", z.ZodTypeAny, { type: "api_1"; requestCount: number; requestKey?: string | undefined; requestData?: number | undefined; }, { type: "api_1"; requestCount: number; requestKey?: string | undefined; requestData?: number | undefined; }>]>>>; type UsageWithPricing = z.infer<typeof UsageWithPricingSchema>; interface AIPricingConfig { provider: string; models: { [modelName: string]: { contextLength: number; maxOutput: number; pricing: { standard: { inputCacheHit: number; inputCacheMiss: number; output: number; }; discount: { inputCacheHit: number; inputCacheMiss: number; output: number; }; discountHours: { start: string; end: string; }; }; features: { jsonOutput: boolean; functionCalling: boolean; chatPrefixCompletion: boolean; fimCompletion: boolean; }; }; }; } /** * Configuration object containing pricing information for different services and providers. * Includes configurations for AWS SES, OpenAI, Google AI, Anthropic AI, and Brave. */ declare const PricingConfig: { brave: { type: string; dataForSearch: { requestCount: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; }; "ai-provider-deepseek": { type: string; "deepseek-chat": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; promptTokenCacheMiss: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; discountHours: { start: string; end: string; }; discountRates: { promptToken: number; promptTokenCacheMiss: number; completionToken: number; }; features: { jsonOutput: boolean; functionCalling: boolean; chatPrefixCompletion: boolean; fimCompletion: boolean; }; }; "deepseek-reasoner": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; promptTokenCacheMiss: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; discountHours: { start: string; end: string; }; discountRates: { promptToken: number; promptTokenCacheMiss: number; completionToken: number; }; features: { jsonOutput: boolean; functionCalling: boolean; chatPrefixCompletion: boolean; fimCompletion: boolean; }; }; }; "ai-provider-anthropic": { type: string; "claude-4-opus-20250514": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-4-sonnet-20250514": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-3-7-sonnet-20250219": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-3-5-sonnet-20241022": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-3-5-sonnet-20240620": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-3-5-haiku-20241022": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-3-opus-20240229": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-3-sonnet-20240229": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "claude-3-haiku-20240307": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache5mToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cache1hToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; cacheHitsToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; }; "ai-provider-google": { type: string; "gemini-2.5-pro-preview-05-06": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.5-pro-preview-05-06-long-context": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.5-flash-preview-05-20": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.5-flash-preview-05-20-thinking": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.5-flash-preview-native-audio-dialog": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.5-flash-exp-native-audio-thinking-dialog": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.5-flash-preview-tts": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.5-pro-preview-tts": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.0-flash": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.0-flash-audio": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.0-flash-live-001": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.0-flash-live-001-audio": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.0-flash-lite": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.0-flash-preview-image-generation": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "gemini-1.5-pro": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-pro-long-context": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-flash": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-flash-long-context": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-flash-8b": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-flash-8b-long-context": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "imagen-3.0-generate-002": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "veo-2.0-generate-001": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "gemini-embedding-exp": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "text-embedding-004": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "embedding-001": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "gemini-2.0-pro-exp-02-05": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-2.0-flash-thinking-exp-01-21": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-exp-1206": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-exp-1121": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-exp-1114": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-pro-exp-0827": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-pro-exp-0801": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-flash-8b-exp-0924": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gemini-1.5-flash-8b-exp-0827": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; }; "ai-provider-openai": { type: string; "gpt-4.1": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4.1-2025-04-14": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4.1-mini": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4.1-mini-2025-04-14": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4.1-nano": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4.1-nano-2025-04-14": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4.5-preview": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4.5-preview-2025-02-27": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-2024-08-06": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-2024-11-20": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-2024-05-13": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-mini": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4-0613": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-mini-2024-07-18": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-audio-preview": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-audio-preview-2024-12-17": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-audio-preview-2024-10-01": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-mini-audio-preview": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-mini-audio-preview-2024-12-17": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-realtime-preview": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-realtime-preview-2024-12-17": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-realtime-preview-2024-10-01": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-mini-realtime-preview": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-4o-mini-realtime-preview-2024-12-17": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; o1: { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o1-2024-12-17": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o1-preview-2024-09-12": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o1-pro": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o1-pro-2025-03-19": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; o3: { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o3-2025-04-16": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o3-mini": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o3-mini-2025-01-31": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o4-mini": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "o4-mini-2025-04-16": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-3.5-turbo": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-3.5-turbo-0125": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-3.5-turbo-1106": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-3.5-turbo-0613": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "gpt-3.5-turbo-16k-0613": { promptToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; completionToken: { dataUnit: string; per: number; description: string; basePriceUSD: number; }; }; "text-embedding-3-small": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "text-embedding-3-large": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; "text-embedding-ada-002": { promptToken: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; }; }; "aws-ses": { type: string; outboundEmail: { requestCount: { basePriceUSD: number; dataUnit: string; per: number; description: string; }; requestData: { basepriceUSD: number; per: number; dataUnit: string; description: string; }; }; }; }; type LLMUsageWithBase = Omit<LLMUsage, 'type'> & Omit<BaseUsage, 'package'> & { package?: string; type?: 'llm'; }; /** * Attaches pricing information to API usage data. * Calculates the price based on request count and request data if available. * * @param usage - The usage data to attach pricing to * @returns Usage data with attached pricing information including priceUSD and originalPriceUSD */ declare const attachPricingApi1: (usage: Usage) => UsageWithPricing; /** * Fetches the provider package name for a given model. * Searches through all LLM configurations to find the matching provider. * * @param model - The model name to find the provider for * @returns The provider package name or undefined if not found */ declare const fetchProviderPackage: (model: string) => string | undefined; /** * Attaches pricing information to LLM usage data. * Calculates the price based on prompt tokens and completion tokens. * * @param usage - The LLM usage data to attach pricing to * @returns Usage data with attached pricing information including priceUSD and originalPriceUSD */ declare const attachPricingLLM: (usage: LLMUsageWithBase) => UsageWithPricing; /** * Main function to attach pricing information to any type of usage data. * Routes the usage data to the appropriate pricing calculator based on the usage type. * * @param usage - The usage data to attach pricing to * @returns Usage data with attached pricing information */ declare const attachPricing: (usage: Usage) => UsageWithPricing; declare const getPricingForLLM: (props: { model: string; promptTokens: number; completionTokens: number; markup?: number; }) => { priceUSD: number; originalPriceUSD: number; provider?: undefined; } | { provider: string; priceUSD: number; originalPriceUSD: number; }; declare class MicrofoxUsagePricing { private readonly redis; private readonly prefix?; constructor(config: UsageTrackerConstructorOptions); private processUsageEntries; getUsage(packageName?: string, prefixDateKey?: string, options?: { limit?: number; offset?: number; }): Promise<{ data: ({ priceUSD: number; originalPriceUSD?: number | undefined; } & ({ package: string; timestamp?: string | undefined; markup?: number | undefined; } & ({ type: "llm"; promptTokens: number; completionTokens: number; model?: string | undefined; } | { type: "api_1"; requestCount: number; requestKey?: string | undefined; requestData?: number | undefined; })))[]; total: number; limit: number; offset: number; hasMore: boolean; }>; getDailyUsage(packageName?: string, options?: { limit?: number; offset?: number; }): Promise<{ data: ({ priceUSD: number; originalPriceUSD?: number | undefined; } & ({ package: string; timestamp?: string | undefined; markup?: number | undefined; } & ({ type: "llm"; promptTokens: number; completionTokens: number; model?: string | undefined; } | { type: "api_1"; requestCount: number; requestKey?: string | undefined; requestData?: number | undefined; })))[]; total: number; limit: number; offset: number; hasMore: boolean; }>; getMonthlyUsage(packageName?: string, options?: { limit?: number; offset?: number; }): Promise<{ data: ({ priceUSD: number; originalPriceUSD?: number | undefined; } & ({ package: string; timestamp?: string | undefined; markup?: number | undefined; } & ({ type: "llm"; promptTokens: number; completionTokens: number; model?: string | undefined; } | { type: "api_1"; requestCount: number; requestKey?: string | undefined; requestData?: number | undefined; })))[]; total: number; limit: number; offset: number; hasMore: boolean; }>; getYearlyUsage(packageName?: string, options?: { limit?: number; offset?: number; }): Promise<{ data: ({ priceUSD: number; originalPriceUSD?: number | undefined; } & ({ package: string; timestamp?: string | undefined; markup?: number | undefined; } & ({ type: "llm"; promptTokens: number; completionTokens: number; model?: string | undefined; } | { type: "api_1"; requestCount: number; requestKey?: string | undefined; requestData?: number | undefined; })))