import { createImagePost, requireRecord, requireStringField } from './client.ts'
import type { CreateImagePostInput } from './client.ts'
/**
* Create or dry-run a personal-profile LinkedIn image post.
* @param params.imageUrn - Uploaded image URN from `register-image-upload`.
* @returns Dry-run preview or published post metadata when `confirm: true`.
* @example
* import createImagePost from 'kody:@kody/linkedin/create-image-post'
* const result = await createImagePost({ text: 'Photo post', imageUrn: 'urn:li:image:...', dryRun: true })
* // => { dryRun: true, body: { ... } }
*/
export default async function createImagePostEntrypoint(params: Partial<CreateImagePostInput> & Record<string, unknown> = {}) {
const input = requireRecord(params, 'create-image-post')
requireStringField(input, 'text', 'create-image-post')
return createImagePost(input)
}