export declare function isThrowRetryable(method?: string): boolean; export interface RerouteOptions { /** Issue the request against the current (possibly just-rerouted) node. */ send: () => Promise; /** Re-resolve the owning node and update client URL state. Throws if it fails. */ reroute?: () => Promise; /** * Whether the request may be re-sent after a thrown fetch (opaque network/CORS * failure). Only true for idempotent requests — see THROW_RETRYABLE. */ retryOnThrow: boolean; } /** * Fetch with shard-reroute retries. A node being drained returns a readable * 421/503: re-resolve the owner and retry. A node that has fully rolled away no * longer answers, so the LB's CORS-less 5xx makes fetch reject opaquely (no * status to inspect); for idempotent requests we treat that throw as the same * reroute signal, since otherwise the request keeps targeting a dead node and * surfaces only as an opaque CORS error. */ export declare function fetchWithReroute(opts: RerouteOptions): Promise; //# sourceMappingURL=reroute.d.ts.map