import type { AuthProfileCredential, AuthProfileStore } from "./types.js";
export type CooldownProbeResult = {
    cooldownMs: number;
    /** e.g. "quota_reset_zai", "quota_exhausted_claude" */
    reason: string;
    /** provider id: "zai", "anthropic", "minimax", "openai-codex" */
    source: string;
};
/**
 * Whether a given provider+reason combination should trigger a quota probe.
 */
export declare function shouldProbeQuotaForFailure(provider: string, reason: string): boolean;
/**
 * Probe a provider's quota API to determine the real cooldown duration.
 *
 * Returns `null` when:
 * - The provider is not supported (including openai-codex for now).
 * - No credential is available on the profile.
 * - The quota API returns an error or no exhausted windows.
 * - Any unexpected exception occurs.
 *
 * Never throws.
 */
export declare function probeQuotaForCooldown(params: {
    provider: string;
    profile: AuthProfileCredential;
    store: AuthProfileStore;
    profileId: string;
    now?: number;
    timeoutMs?: number;
}): Promise<CooldownProbeResult | null>;
