input: def summarize_twitter_data(twitter_data: List[Dict[str, Union[str, int]]]) -> None:
      """ This function takes a list of dictionaries representing tweets with fields like
      'author', 'text', 'likes', and 'retweets', and generates visual summaries using
      matplotlib. The summaries include:
      - A bar plot of the number of tweets per author.
      - A bar plot of the number of likes per tweet.
      - A bar plot of the number of retweets per tweet.
      >>> summarize_twitter_data([
              {'author': 'Alice', 'text': 'Hello World!', 'likes': 10, 'retweets': 5},
              {'author': 'Bob', 'text': 'Goodbye World!', 'likes': 20, 'retweets': 10},
              {'author': 'Alice', 'text': 'Hello Again!', 'likes': 15, 'retweets': 7}
          ])
      """
output:     
      import matplotlib.pyplot as plt
      from collections import defaultdict
  
      authors = defaultdict(int)
      likes = []
      retweets = []
  
      for tweet in twitter_data:
          authors[tweet['author']] += 1
          likes.append(tweet['likes'])
          retweets.append(tweet['retweets'])
  
      plt.figure(figsize=(12, 4))
  
      plt.subplot(1, 3, 1)
      plt.bar(authors.keys(), authors.values(), color='blue')
      plt.xlabel('Authors')
      plt.ylabel('Number of Tweets')
      plt.title('Tweets per Author')
  
      plt.subplot(1, 3, 2)
      plt.bar(range(len(likes)), likes, color='green')
      plt.xlabel('Tweet Index')
      plt.ylabel('Number of Likes')
      plt.title('Likes per Tweet')
  
      plt.subplot(1, 3, 3)
      plt.bar(range(len(retweets)), retweets, color='red')
      plt.xlabel('Tweet Index')
      plt.ylabel('Number of Retweets')
      plt.title('Retweets per Tweet')
  
      plt.tight_layout()
      plt.show()
  