import * as Effect from "effect/Effect"; import type * as HttpClient from "effect/unstable/http/HttpClient"; import type { Credentials } from "../Credentials.ts"; import { type BrowserClient } from "./Browser.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 BrowserAuth { authorize: (eff: Effect.Effect) => Effect.Effect; accountId: string; } /** * Build a {@link BrowserClient} over the Browser Rendering REST data-plane * (`/accounts/{id}/browser-rendering/*`). * * The following client members `Effect.die` (or fail the stream) because they * have no Cloudflare REST equivalent — use a native `BrowserBinding` inside a * deployed Worker for them: * - `raw` / `fetch` — the raw `BrowserRun` transport used by * `@cloudflare/puppeteer` is a Worker-runtime object, not an HTTP call. * - `screenshot` / `pdf` — the binary endpoints stream image/PDF bytes, which * the distilled REST codec models as JSON status, not a byte stream. * * Because the REST data-plane only returns the action `result` (not the * runtime binding's `meta` envelope), `content`/`snapshot` populate `meta` * with a best-effort placeholder. */ export declare const makeHttpBrowserClient: (auth: BrowserAuth) => BrowserClient; //# sourceMappingURL=BrowserHttpClient.d.ts.map