/** * Token usage and cost tracking views and types */ import { z } from 'zod'; import { ChatInvokeUsage } from '../llm/views'; /** * Single token usage entry */ export declare const TokenUsageEntrySchema: z.ZodObject<{ model: z.ZodString; timestamp: z.ZodDate; usage: z.ZodObject<{ prompt_tokens: z.ZodNumber; completion_tokens: z.ZodNumber; prompt_cached_tokens: z.ZodOptional; prompt_cache_creation_tokens: z.ZodOptional; }, "strip", z.ZodTypeAny, { prompt_tokens: number; completion_tokens: number; prompt_cached_tokens?: number | undefined; prompt_cache_creation_tokens?: number | undefined; }, { prompt_tokens: number; completion_tokens: number; prompt_cached_tokens?: number | undefined; prompt_cache_creation_tokens?: number | undefined; }>; }, "strip", z.ZodTypeAny, { timestamp: Date; usage: { prompt_tokens: number; completion_tokens: number; prompt_cached_tokens?: number | undefined; prompt_cache_creation_tokens?: number | undefined; }; model: string; }, { timestamp: Date; usage: { prompt_tokens: number; completion_tokens: number; prompt_cached_tokens?: number | undefined; prompt_cache_creation_tokens?: number | undefined; }; model: string; }>; export type TokenUsageEntry = z.infer; /** * Token cost calculation result */ export declare const TokenCostCalculatedSchema: z.ZodObject<{ new_prompt_tokens: z.ZodNumber; new_prompt_cost: z.ZodNumber; prompt_read_cached_tokens: z.ZodOptional; prompt_read_cached_cost: z.ZodOptional; /** Anthropic only: The cost of creating the cache */ prompt_cached_creation_tokens: z.ZodOptional; prompt_cache_creation_cost: z.ZodOptional; completion_tokens: z.ZodNumber; completion_cost: z.ZodNumber; }, "strip", z.ZodTypeAny, { completion_tokens: number; new_prompt_tokens: number; new_prompt_cost: number; completion_cost: number; prompt_read_cached_tokens?: number | undefined; prompt_read_cached_cost?: number | undefined; prompt_cached_creation_tokens?: number | undefined; prompt_cache_creation_cost?: number | undefined; }, { completion_tokens: number; new_prompt_tokens: number; new_prompt_cost: number; completion_cost: number; prompt_read_cached_tokens?: number | undefined; prompt_read_cached_cost?: number | undefined; prompt_cached_creation_tokens?: number | undefined; prompt_cache_creation_cost?: number | undefined; }>; export type TokenCostCalculated = z.infer; /** * Helper class for TokenCostCalculated with computed properties */ export declare class TokenCostCalculatedHelper implements TokenCostCalculated { new_prompt_tokens: number; new_prompt_cost: number; prompt_read_cached_tokens?: number; prompt_read_cached_cost?: number; prompt_cached_creation_tokens?: number; prompt_cache_creation_cost?: number; completion_tokens: number; completion_cost: number; constructor(data: TokenCostCalculated); get prompt_cost(): number; get total_cost(): number; } /** * Pricing information for a model */ export declare const ModelPricingSchema: z.ZodObject<{ model: z.ZodString; input_cost_per_token: z.ZodOptional; output_cost_per_token: z.ZodOptional; cache_read_input_token_cost: z.ZodOptional; cache_creation_input_token_cost: z.ZodOptional; max_tokens: z.ZodOptional; max_input_tokens: z.ZodOptional; max_output_tokens: z.ZodOptional; }, "strip", z.ZodTypeAny, { model: string; max_tokens?: number | undefined; input_cost_per_token?: number | undefined; output_cost_per_token?: number | undefined; cache_read_input_token_cost?: number | undefined; cache_creation_input_token_cost?: number | undefined; max_input_tokens?: number | undefined; max_output_tokens?: number | undefined; }, { model: string; max_tokens?: number | undefined; input_cost_per_token?: number | undefined; output_cost_per_token?: number | undefined; cache_read_input_token_cost?: number | undefined; cache_creation_input_token_cost?: number | undefined; max_input_tokens?: number | undefined; max_output_tokens?: number | undefined; }>; export type ModelPricing = z.infer; /** * Cached pricing data with timestamp */ export declare const CachedPricingDataSchema: z.ZodObject<{ timestamp: z.ZodDate; data: z.ZodRecord; }, "strip", z.ZodTypeAny, { timestamp: Date; data: Record; }, { timestamp: Date; data: Record; }>; export type CachedPricingData = z.infer; /** * Usage statistics for a single model */ export declare const ModelUsageStatsSchema: z.ZodObject<{ model: z.ZodString; prompt_tokens: z.ZodDefault; completion_tokens: z.ZodDefault; total_tokens: z.ZodDefault; cost: z.ZodDefault; invocations: z.ZodDefault; average_tokens_per_invocation: z.ZodDefault; }, "strip", z.ZodTypeAny, { total_tokens: number; prompt_tokens: number; completion_tokens: number; model: string; cost: number; invocations: number; average_tokens_per_invocation: number; }, { model: string; total_tokens?: number | undefined; prompt_tokens?: number | undefined; completion_tokens?: number | undefined; cost?: number | undefined; invocations?: number | undefined; average_tokens_per_invocation?: number | undefined; }>; export type ModelUsageStats = z.infer; /** * Usage tokens for a single model */ export declare const ModelUsageTokensSchema: z.ZodObject<{ model: z.ZodString; prompt_tokens: z.ZodNumber; prompt_cached_tokens: z.ZodNumber; completion_tokens: z.ZodNumber; total_tokens: z.ZodNumber; }, "strip", z.ZodTypeAny, { total_tokens: number; prompt_tokens: number; prompt_cached_tokens: number; completion_tokens: number; model: string; }, { total_tokens: number; prompt_tokens: number; prompt_cached_tokens: number; completion_tokens: number; model: string; }>; export type ModelUsageTokens = z.infer; /** * Summary of token usage and costs */ export declare const UsageSummarySchema: z.ZodObject<{ total_prompt_tokens: z.ZodNumber; total_prompt_cost: z.ZodNumber; total_prompt_cached_tokens: z.ZodNumber; total_prompt_cached_cost: z.ZodNumber; total_completion_tokens: z.ZodNumber; total_completion_cost: z.ZodNumber; total_tokens: z.ZodNumber; total_cost: z.ZodNumber; entry_count: z.ZodNumber; by_model: z.ZodDefault; completion_tokens: z.ZodDefault; total_tokens: z.ZodDefault; cost: z.ZodDefault; invocations: z.ZodDefault; average_tokens_per_invocation: z.ZodDefault; }, "strip", z.ZodTypeAny, { total_tokens: number; prompt_tokens: number; completion_tokens: number; model: string; cost: number; invocations: number; average_tokens_per_invocation: number; }, { model: string; total_tokens?: number | undefined; prompt_tokens?: number | undefined; completion_tokens?: number | undefined; cost?: number | undefined; invocations?: number | undefined; average_tokens_per_invocation?: number | undefined; }>>>; }, "strip", z.ZodTypeAny, { total_cost: number; total_tokens: number; total_prompt_tokens: number; total_prompt_cost: number; total_prompt_cached_tokens: number; total_prompt_cached_cost: number; total_completion_tokens: number; total_completion_cost: number; entry_count: number; by_model: Record; }, { total_cost: number; total_tokens: number; total_prompt_tokens: number; total_prompt_cost: number; total_prompt_cached_tokens: number; total_prompt_cached_cost: number; total_completion_tokens: number; total_completion_cost: number; entry_count: number; by_model?: Record | undefined; }>; export type UsageSummary = z.infer; /** * Helper functions to create instances */ export declare function createTokenUsageEntry(data: { model: string; timestamp?: Date; usage: ChatInvokeUsage; }): TokenUsageEntry; export declare function createModelUsageStats(data: Partial & { model: string; }): ModelUsageStats; export declare function createUsageSummary(data: Partial): UsageSummary; //# sourceMappingURL=views.d.ts.map