export type ModelPricing = { inputPer1mTokens: number; outputPer1mTokens: number; currency?: string; }; export type TokenUsage = { promptTokens?: number; completionTokens?: number; totalTokens?: number; }; export type ProviderCostMetadata = { source: "provider" | "estimate"; costUsd?: number; generationId?: string; providerName?: string; upstreamInferenceCost?: number; cacheDiscount?: number; lookupStatus?: string; tokensPrompt?: number; tokensCompletion?: number; nativeTokensPrompt?: number; nativeTokensCompletion?: number; }; export type CallCostRecord = { model: string; usage: TokenUsage; costUsd?: number; providerCostUsd?: number; unknownUsage: boolean; unknownCost: boolean; partialUsage?: boolean; currency: string; providerCost?: ProviderCostMetadata; }; export declare const DEFAULT_MODEL_PRICING: Readonly>; export declare function parseUsage(value: unknown): TokenUsage | undefined; export declare function parseUsageFromSse(text: string): TokenUsage | undefined; export declare function lookupPricing(model: string, overrides?: Readonly>): ModelPricing | undefined; export declare function estimateCost(usage: TokenUsage, pricing: ModelPricing | undefined): { costUsd: number; partialUsage: boolean; } | undefined; export declare function meterCall(input: { model: string; usage?: TokenUsage; pricing?: Readonly>; providerCost?: ProviderCostMetadata; }): CallCostRecord; export declare function formatUsd(amount: number, currency?: string): string;