/** * Headless Lamina + Sanity client. * * Wraps @uselamina/sdk and @sanity/client into high-level operations * for programmatic content generation at scale — no React required. * * Closes #76. */ import type { LaminaSanityClient, LaminaSanityClientOptions } from './types.js'; /** * Create a headless Lamina + Sanity client for programmatic content generation. * * @example * ```ts * import { createLaminaSanityClient } from 'sanity-plugin-lamina/headless' * * const lamina = createLaminaSanityClient({ * laminaApiKey: process.env.LAMINA_API_KEY, * sanityProjectId: 'abc123', * sanityDataset: 'production', * sanityToken: process.env.SANITY_TOKEN, * }) * * // Generate + upload + patch in one call * await lamina.generateForDocument('product-123', 'heroImage', { * brief: 'Lifestyle product photo', * }) * * // Bulk: find empty fields, generate, patch * await lamina.fillEmptyMedia({ * query: '*[_type == "product" && !defined(mainImage)]', * fieldMapping: { mainImage: 'Product photo: {{title}}' }, * concurrency: 5, * }) * ``` */ export declare function createLaminaSanityClient(options: LaminaSanityClientOptions): LaminaSanityClient;