/** * Re-discovery for a client that holds only an app-scoped token. * * {@link createMintRediscover} needs the identity session, so it can only be * wired by a caller that has one. A game that was handed an app token and * nothing else could not recover at all — which is the common case, since the * Overworld portal mints the token and the game receives it. * * `gameClientBootstrap.discoveryUrl` closes that: it is the environment's shared * load balancer, which by definition still answers when a single instance does * not, and querying it with the app token the client already holds returns a * fresh `gameApiUrl`/`gameApiWsUrl`. */ export interface BootstrapRediscoverOptions { /** * The shared load balancer origin, from a previous * `gameClientBootstrap.discoveryUrl`. Pointing this at an instance hostname * defeats the entire purpose: it would die with the instance it is meant to * replace. */ discoveryUrl: string; /** Bearer token to authenticate with; usually the app-scoped token. */ getToken: () => string | null | undefined; appId?: string; fetchImpl?: typeof fetch; logger?: { warn?: (msg: string) => void; }; } export declare function createBootstrapRediscover(options: BootstrapRediscoverOptions): (appId: string | null) => Promise<{ httpUrl?: string | null; wsUrl?: string | null; } | null>; //# sourceMappingURL=bootstrap-rediscover.d.ts.map