import type { SitecoreApiClientOptions } from "../../auth/index.js"; import { type AuthoringApiClient } from "./client.js"; import { type AuthoringRequestOptions } from "./graphql.js"; export interface AuthoringClientOptions { /** * Auth + host options for the Authoring API. The CLI passes its full * resolved `EnvironmentConfiguration` (which structurally satisfies * `SitecoreApiClientOptions`) — typically augmented with `orgClientId` * from the root config's `orgClients` block so the auth layer can * resolve the org-scoped automation client. */ environment: SitecoreApiClientOptions; request?: AuthoringRequestOptions; /** * Optional shared path → itemId cache. When provided, the client uses * it as a read-through layer for `ensurePathExists` (skipping a wire * call when the parent path was already resolved by an earlier * createItem in the same push) and writes new entries as it * auto-provisions folder ancestors. * * The recipe executor passes a map shared with its `capturedItemIds` * so the workspace prefetch can pre-seed path resolutions and the * client picks them up without re-fetching. Paths and recipe-internal * refKey GUIDs share the same map but never collide (paths start * with `/`). */ pathItemIdCache?: Map; /** * Maximum number of paths bundled into one aliased `getItemsByPaths` * GraphQL query. Defaults to 25 — picks a balance between request * payload size and round-trip count. Tunable for tenants with * unusually low or high request-size limits. */ batchedReadSize?: number; /** * Number of batched-read queries dispatched in parallel. Defaults to 4. * The shared GraphQL transport handles 429/503 backoff automatically, * so safe to fan out — but kept conservative so a fresh push doesn't * thunder-herd a cold tenant. */ batchedReadConcurrency?: number; } export declare const createAuthoringClient: (options: AuthoringClientOptions) => AuthoringApiClient;