import type { Logger } from "pino"; import type { ProviderUsage } from "../../../server/messages.js"; import type { ProviderApiFetch, ProviderUsageFetcher } from "../provider.js"; interface ClaudeQuotaProviderOptions { logger: Logger; claudeHome?: string; claudeKeychainReader?: () => Promise; platform?: typeof process.platform; fetch?: ProviderApiFetch; } type ClaudeKeychainCommandRunner = (args: string[]) => Promise; export declare function claudeKeychainAccount(user?: string): string; /** Read Claude Code's account-specific Keychain item, then try the legacy lookup. */ export declare function readClaudeKeychainCredentials(run?: ClaudeKeychainCommandRunner, account?: string): Promise; export declare class ClaudeQuotaProvider implements ProviderUsageFetcher { readonly providerId = "claude"; readonly displayName = "Claude"; private readonly logger; private readonly claudeHome; private readonly readKeychainCredentials; private readonly platform; private readonly fetchApi; constructor(options: ClaudeQuotaProviderOptions); fetchUsage(): Promise; /** * Scoped limits carried by `limits[]`. * * Entries are validated one at a time so a single malformed or newly-shaped entry * cannot fail the whole response and take the windows that already parsed with it. */ private scopedLimitsFromResponse; private readCredentials; private callClaudeApi; } export {}; //# sourceMappingURL=claude.d.ts.map