import * as Effect from "effect/Effect"; import type * as HttpClient from "effect/unstable/http/HttpClient"; import type { Credentials } from "../Credentials.ts"; import { type ReadFlagsClient } from "./ReadFlags.ts"; /** * Injectable auth shared by the Local (current-credentials) impl and a future * Http (scoped-token) impl. `authorize` discharges the * `Credentials | HttpClient` requirement of a distilled op; `accountId` is the * Cloudflare account the ops run against. */ export interface FlagshipAuth { authorize: (eff: Effect.Effect) => Effect.Effect; accountId: string; } /** * Build a {@link ReadFlagsClient} over the Flagship HTTP evaluate endpoint * (`GET .../flagship/apps/{appId}/evaluate`). * * `appId` is an Effect so the resolution stays deferred to each call — inside * an Action it resolves through the apply-time RuntimeContext. Mirrors the * Worker binding's fall-back-to-default semantics: evaluation never fails the * effect — an HTTP error or a value whose type does not match the requested * method resolves to `defaultValue` instead. The `raw` runtime binding has no * HTTP equivalent and dies if used. */ export declare const makeHttpFlagshipClient: (auth: FlagshipAuth, appId: Effect.Effect) => ReadFlagsClient; //# sourceMappingURL=ReadFlagsHttpClient.d.ts.map