docs: def prepare_endpoint_props(self, intfs, svc_ref, export_props):
          # type: (List[str], ServiceReference, Dict[str, Any]) -> Dict[str, Any]
          """
          Sets up the properties of an endpoint
  
          :param intfs: Specifications to export
          :param svc_ref: Reference of the exported service
          :param export_props: Export properties
          :return: The properties of the endpoint
          """
          pkg_vers = rsa.get_package_versions(intfs, export_props)
          exported_configs = get_string_plus_property_value(
              svc_ref.get_property(SERVICE_EXPORTED_CONFIGS)
          )
          if not exported_configs:
              exported_configs = [self.get_config_name()]
          service_intents = set()
          svc_intents = export_props.get(SERVICE_INTENTS, None)
          if svc_intents:
              service_intents.update(svc_intents)
          svc_exp_intents = export_props.get(SERVICE_EXPORTED_INTENTS, None)
          if svc_exp_intents:
              service_intents.update(svc_exp_intents)
          svc_exp_intents_extra = export_props.get(
              SERVICE_EXPORTED_INTENTS_EXTRA, None
          )
          if svc_exp_intents_extra:
              service_intents.update(svc_exp_intents_extra)
  
          rsa_props = rsa.get_rsa_props(
              intfs,
              exported_configs,
              self._get_supported_intents(),
              svc_ref.get_property(SERVICE_ID),
              export_props.get(ENDPOINT_FRAMEWORK_UUID),
              pkg_vers,
              list(service_intents),
          )
          ecf_props = rsa.get_ecf_props(
              self.get_id(),
              self.get_namespace(),
              rsa.get_next_rsid(),
              rsa.get_current_time_millis(),
          )
          extra_props = rsa.get_extra_props(export_props)
          merged = rsa.merge_dicts(rsa_props, ecf_props, extra_props)
          # remove service.bundleid
          merged.pop(SERVICE_BUNDLE_ID, None)
          # remove service.scope
          merged.pop(SERVICE_SCOPE, None)
          return merged