import { type PriceCurrency, type PricedTokenUsage, type TokenUsageDimensions } from './provider-pricing.js'; export interface NativeProviderUsageRecord { measurementId: string; timestamp: string; client: string; provider: string; billingRoute: string; pricingRoute: string; model: string | null; plan: string | null; project: string | null; sessionId: string | null; usage: TokenUsageDimensions; nativeReportedCost: number | null; nativeReportedCurrency: PriceCurrency | null; source: string; } export interface ProviderUsageSummary { available: boolean; source: string; window: { days: number; since: string | null; firstSeen: string | null; lastSeen: string | null; }; requestCount: number; pricedRequestCount: number; unpricedRequestCount: number; pricingCoveragePercent: number | null; usage: TokenUsageDimensions; totalTokens: number; apiEquivalentCost: Partial>; nativeReportedCost: Partial>; byModel: ProviderUsageGroup[]; recent: ProviderUsageView[]; } export interface ProviderUsageGroup { client: string; provider: string; billingRoute: string; pricingRoute: string; model: string; plan: string | null; requestCount: number; pricedRequestCount: number; usage: TokenUsageDimensions; totalTokens: number; apiEquivalentCost: Partial>; priceSourceUrl: string | null; priceSourceLabel: string; } export interface ProviderUsageView extends NativeProviderUsageRecord { pricing: PricedTokenUsage; } export declare function readCodexUsageFile(filePath: string): Promise; export declare function readClaudeUsageFile(filePath: string): Promise; export declare function readGeminiUsageFile(filePath: string): NativeProviderUsageRecord[]; export declare function nativeUsageRecordFromHookEvent(event: Record, source?: string, ordinal?: number): NativeProviderUsageRecord | null; export declare function summarizeProviderUsage(records: NativeProviderUsageRecord[], recentLimit?: number, window?: { days?: number; since?: string | null; }): ProviderUsageSummary; export declare function readNativeProviderUsage(options?: { days?: number; recentLimit?: number; homeDirectory?: string; }): Promise; //# sourceMappingURL=native-provider-usage.d.ts.map