/** * Production `SitecoreApiClient` factory for the Sitecore Authoring + * Management GraphQL surface. * * Unlike `createAuthoringClient` in `recipe/` (which adds path * resolution, parent-folder auto-creation, and read-retry behavior on * top of the wire calls), this factory is a thin **options-binding** * wrapper around the existing function-style API: * * const sc = createSitecoreApiClient({ host, accessToken }); * await sc.fetchItemMetadata("master", "/sitecore/content/Home"); * * It exists so the deploy + serialization surfaces match the recipe * surface's seam shape (`create*Client(options) -> typed methods`). * If you don't want the seam, the underlying functions remain exported * from `serialization` and you can call them options-first directly. */ import { fetchHistoryEntries, fetchHistoryTimestamp } from "./history.js"; import { executeSerializationCommands, fetchItemData, fetchItemMetadata } from "./items.js"; import { checkPublishStatus, fetchPublishingTargets, publishItems } from "./publish.js"; import { fetchRoles, pushRoleCommands } from "./roles.js"; import type { SitecoreApiClientOptions } from "./types.js"; import { fetchUsers, pushUserCommands } from "./users.js"; type Tail = F extends (head: SitecoreApiClientOptions, ...rest: infer R) => infer X ? (...args: R) => X : never; export interface SitecoreApiClient { readonly options: SitecoreApiClientOptions; fetchItemMetadata: Tail; fetchItemData: Tail; executeSerializationCommands: Tail; fetchHistoryTimestamp: Tail; fetchHistoryEntries: Tail; fetchRoles: Tail; pushRoleCommands: Tail; fetchUsers: Tail; pushUserCommands: Tail; publishItems: Tail; checkPublishStatus: Tail; fetchPublishingTargets: Tail; } export declare const createSitecoreApiClient: (options: SitecoreApiClientOptions) => SitecoreApiClient; export {};