import { finalizeVideoUpload, requireRecord } from './client.ts'
import type { FinalizeVideoUploadInput } from './client.ts'
/**
* Finalize a native LinkedIn video upload after all parts are uploaded.
* @param params.video - Video URN from `register-video-upload`.
* @param params.uploadedPartIds - Ordered ETag/part ids from each `upload-video-part`.
* @returns Finalized video metadata when `confirm: true`.
* @example
* import finalizeVideoUpload from 'kody:@kody/linkedin/finalize-video-upload'
* const result = await finalizeVideoUpload({ video: 'urn:li:video:...', uploadedPartIds: ['etag'], confirm: true })
* // => { video: 'urn:li:video:...', ... }
*/
export default async function finalizeVideoUploadEntrypoint(params: Partial<FinalizeVideoUploadInput> & Record<string, unknown> = {}) {
const input = requireRecord(params, 'finalize-video-upload')
return finalizeVideoUpload(input)
}