docs: def reqHistoricalNews(
              self, conId: int, providerCodes: str,
              startDateTime: Union[str, datetime.date],
              endDateTime: Union[str, datetime.date],
              totalResults: int,
              historicalNewsOptions: List[TagValue] = None) -> HistoricalNews:
          """
          Get historical news headline.
  
          https://interactivebrokers.github.io/tws-api/news.html
  
          This method is blocking.
  
          Args:
              conId: Search news articles for contract with this conId.
              providerCodes: A '+'-separated list of provider codes, like
                  'BZ+FLY'.
              startDateTime: The (exclusive) start of the date range.
                  Can be given as a datetime.date or datetime.datetime,
                  or it can be given as a string in 'yyyyMMdd HH:mm:ss' format.
                  If no timezone is given then the TWS login timezone is used.
              endDateTime: The (inclusive) end of the date range.
                  Can be given as a datetime.date or datetime.datetime,
                  or it can be given as a string in 'yyyyMMdd HH:mm:ss' format.
                  If no timezone is given then the TWS login timezone is used.
              totalResults: Maximum number of headlines to fetch (300 max).
              historicalNewsOptions: Unknown.
          """
          return self._run(
              self.reqHistoricalNewsAsync(
                  conId, providerCodes, startDateTime, endDateTime,
                  totalResults, historicalNewsOptions))