import type { ProviderUsageKind, ProviderUsageResponse, ProviderUsageRow } from '../../shared/provider-usage.js'; export interface ProviderUsageAdapter { label: string; provider: ProviderUsageKind; source: ProviderUsageRow['source']; fetch: () => Promise>>; /** Optional single-row path for GET /provider-usage/:provider. */ fetchActive?: () => Promise>; } export interface ProviderUsageReadOptions { force?: boolean; } export interface ProviderUsageServiceOptions { cacheTtlMs?: number; failureTtlMs?: number; log?: (message: string) => void; now?: () => number; staleMaxAgeMs?: number; } export declare class ProviderUsageService { private readonly adapters; private readonly cache; private readonly cacheTtlMs; private readonly failureTtlMs; private readonly inFlight; private readonly log; private readonly now; private readonly staleMaxAgeMs; constructor(adapters?: ProviderUsageAdapter[], options?: ProviderUsageServiceOptions); list(options?: ProviderUsageReadOptions): Promise; get(provider: ProviderUsageKind, options?: ProviderUsageReadOptions): Promise; private fetchProvider; private fetchProviderFresh; } export declare function defaultProviderUsageAdapters(): ProviderUsageAdapter[]; export declare const defaultProviderUsageService: ProviderUsageService; //# sourceMappingURL=provider-usage.service.d.ts.map