import type { ProviderUsageKind, ProviderUsageResponse, ProviderUsageRow } from '../../shared/provider-usage.js'; import type { AgentConfig } from '../../shared/agent-config.js'; import type { ProviderAccountsConfig } from '../../shared/provider-accounts.js'; import { fetchClaudeUsage } from './providers/claude.js'; import { defaultAgentRegistryService } from '../agents/agent.service.js'; import { defaultServerSettingsService } from '../settings/settings.service.js'; import { discoverClaudeAccounts } from '../provider-accounts/claude-account-config.js'; export interface ProviderUsageAdapter { label: string; provider: ProviderUsageKind; source: ProviderUsageRow['source']; fetch: () => Promise>>; 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 function claudeAccountUsageAdapter(deps?: { discoverAccounts?: () => ReturnType; fetchUsage?: typeof fetchClaudeUsage; listAgentConfigs?: () => ReturnType; getProviderAccounts?: () => ReturnType; }): ProviderUsageAdapter; export declare function selectedClaudeUsageConfigDir(providerAccounts: ProviderAccountsConfig, agents: AgentConfig[]): string | undefined; export declare const defaultProviderUsageService: ProviderUsageService; //# sourceMappingURL=provider-usage.service.d.ts.map