(function registerWartaCommunicationPolicyParser(globalScope) {
  "use strict";
  const registry = globalScope.PolicyPdfParserRegistry;
  const common = globalScope.WartaPolicyParserCommon;
  if (!registry || !common) throw new Error("Najpierw wczytaj wspólny parser Warty.");
  registry.register({
    id: "warta-komunikacja",
    insurer: "Warta",
    product: "Komunikacja",
    detect: ({ detectionText }) => common.isWartaPolicy(detectionText)
      && !/WNIOSEK-POLISA WARTA (?:DOM|EKSTRABIZNES PLUS)\b/.test(detectionText)
      && !/WNIOSEK-POLISA SMARTBIZNES\b/.test(detectionText)
      && !/WNIOSEK-POLISA\s*\/\s*PROPOSAL-POLICY WARTA TRAVEL\b/.test(detectionText)
      && /(NUMER|NR) REJESTRACYJNY|DANE POJAZDU|UBEZPIECZONY POJAZD/.test(detectionText),
    parse: (context) => common.parse(context, { requireVehicle: true }),
  });
})(globalThis);
