/** * Plain-English explanations for the useapi Google Flow refusals that a retry * can never fix. Pure: every Flow HTTP caller in `src/` passes a failed * response's status and body here BEFORE deciding whether to retry, so * the retry decision and the message cannot drift apart between callers. * * Spec: https://useapi.net/assets/aibot/api-google-flow-v1.txt (generated * 2026-09-25). Changelog entries this module covers: * - 2026-09-16: every account added before that date runs on Google's retiring * `labs` backend. `GET /characters`, `GET /voices`, `GET /assets/media/{email}` * and `POST /videos/concatenate` already return 404 "Flow RPCs have been * deprecated and disabled"; generation stops once Google finishes the * switch-off. The fix is to re-add the account. Code does not change. * - 2026-09-23: `403 PUBLIC_ERROR_MODEL_ACCESS_DENIED` means the account's plan * does not offer the model. That includes `veo-3.1-lite-low-priority` on an * invited member of an Ultra family plan. It passed the captcha, so raising * `captchaRetry` cannot help, and the 503 useapi briefly documented for it * was withdrawn. * - `429 no_eligible_account`: every account is quarantined for this model. * The body carries `message`, `retryAfter` and a per-account `skipReasons[]`. */ export type FlowRefusalKind = 'model-access-denied' | 'labs-backend-retired' | 'no-eligible-account'; export interface FlowRefusal { kind: FlowRefusalKind; /** True when retrying the same request cannot succeed. */ terminal: boolean; message: string; } export declare const FLOW_READD_ACCOUNT_STEP: string; /** * Classify a failed useapi Google Flow response. Returns null for everything * else, so callers keep their existing handling (captcha retry, throttle * cooldown, moderation) unchanged. */ export declare function explainFlowRefusal(status: number, bodyText: string): FlowRefusal | null; /** Account `backend` field (2026-09-16). Returns operator advice for `labs`, else null. */ export declare function flowAccountBackendAdvice(backend: unknown): string | null; //# sourceMappingURL=flow-refusals.d.ts.map