// import { PDFNet } from "@pdftron/pdfnet-node";

// export const TimestampAndEnableLTV = async (
//   docBuffer: ArrayBuffer,
//   certPath: string,
//   certTSAUrl: string,
//   imgBytes: ArrayBuffer,
//   coords: any
// ): Promise<ArrayBuffer> => {
//   const doc = await PDFNet.PDFDoc.createFromBuffer(docBuffer);
//   doc.initSecurityHandler();
//   const tst_config = await PDFNet.TimestampingConfiguration.createFromURL(
//     certTSAUrl
//   );
//   const opts = await PDFNet.VerificationOptions.create(
//     PDFNet.VerificationOptions.SecurityLevel.e_compatibility_and_archiving
//   );

//   await opts.addTrustedCertificateUString(certPath);

//   const img = await PDFNet.Image.createFromMemory2(doc, imgBytes);

//   //make this dynamic with canvas lib
//   const imgWidth = 300;
//   const imgHeight = 300;

//   const pagesForSining = Object.keys(coords).map((k) => {
//     return parseInt(k);
//   });

//   const pages = await doc.getPageCount();
//   let result;
//   for (let p = 1; p <= pages; p++) {
//     if (!pagesForSining.includes(p)) {
//       continue;
//     }
//     const page = await doc.getPage(p);

//     const doctimestamp_signature_field =
//       await doc.createDigitalSignatureField();

//     const widgetAnnot =
//       await PDFNet.SignatureWidget.createWithDigitalSignatureField(
//         doc,
//         new PDFNet.Rect(
//           parseFloat(coords[p].x),
//           parseFloat(coords[p].x + imgWidth),
//           parseFloat(coords[p].y),
//           parseFloat(coords[p].y + imgHeight)
//         ),
//         doctimestamp_signature_field
//       );

//     await page.annotPushBack(widgetAnnot);
//     await widgetAnnot.createSignatureAppearance(img);
//     await doctimestamp_signature_field.timestampOnNextSave(tst_config, opts);

//     result = await doc.saveMemoryBuffer(
//       PDFNet.SDFDoc.SaveOptions.e_incremental
//     );
//   }

//   return result.buffer;
// };