import { type NormalizedQuotaSnapshot, type ProviderQuotaAdapter, type ProviderQuotaFetchInput, type QuotaCredentialRecord, type QuotaWindow } from './ProviderQuotaAdapter'; import { ProviderHttpTransport } from '../../service/provider-http-transport'; interface SubscriptionQuotaAdapterOptions { fetch?: typeof fetch; transport?: ProviderHttpTransport; } declare abstract class SubscriptionQuotaAdapter implements ProviderQuotaAdapter { abstract readonly provider: string; abstract readonly capability: { protocol: string; profile?: string; }; protected readonly fetchFn: typeof fetch; protected readonly transport?: ProviderHttpTransport; constructor(options?: SubscriptionQuotaAdapterOptions); /** * Whether the credential's Offering is one the runtime declaration assigns * this handler's quota capability to, under the credential kind it holds. The * declaration is the axis's single authority for offering→capability, so the * handler asks it instead of re-typing the offering ids and auth modes it was * bound to. */ supports(credential: QuotaCredentialRecord): boolean; abstract fetch(input: ProviderQuotaFetchInput): Promise; protected snapshot(input: ProviderQuotaFetchInput, source: string, windows: QuotaWindow[]): NormalizedQuotaSnapshot; protected error(input: ProviderQuotaFetchInput, source: string, status?: number, retryAfter?: string | null): NormalizedQuotaSnapshot; } export declare class CodexSubscriptionQuotaAdapter extends SubscriptionQuotaAdapter { readonly provider = "openai"; readonly capability: { readonly protocol: "rolling-quota-windows"; readonly profile: "codex"; }; fetch(input: ProviderQuotaFetchInput): Promise; } export declare class ClaudeSubscriptionQuotaAdapter extends SubscriptionQuotaAdapter { readonly provider = "anthropic"; readonly capability: { readonly protocol: "rolling-quota-windows"; readonly profile: "claude-code"; }; fetch(input: ProviderQuotaFetchInput): Promise; } export declare class KimiCodeSubscriptionQuotaAdapter extends SubscriptionQuotaAdapter { readonly provider = "kimi"; readonly capability: { readonly protocol: "rolling-quota-windows"; readonly profile: "kimi-code"; }; fetch(input: ProviderQuotaFetchInput): Promise; } export {};