input: from typing import List
  
  def generate_table_of_contents_page(database_connection, table_names: List[str]) -> str:
      """
      Generates an HTML page that displays a table of contents from the data stored in a database.
      The function uses the provided database connection to query the entries for each given table and
      then generates an HTML string with a table that lists the contents of each table.
      
      Example:
      >>> import sqlite3
      >>> conn = sqlite3.connect('example.db')
      >>> html_output = generate_table_of_contents_page(conn, ['products', 'customers'])
      >>> print(html_output[:50])  # print the first 50 characters of the HTML output
      '<!DOCTYPE html><html><head><title>Table of Conte'
      """
output:     html_content = '<!DOCTYPE html><html><head><title>Table of Contents</title></head><body><h1>Table of Contents</h1>'
      for table_name in table_names:
          cursor = database_connection.cursor()
          cursor.execute(f"SELECT * FROM {table_name}")
          rows = cursor.fetchall()
          html_content += f'<h2>{table_name}</h2><table border="1"><tr>'
          for column in cursor.description:
              html_content += f'<th>{column[0]}</th>'
          html_content += '</tr>'
          for row in rows:
              html_content += '<tr>'
              for item in row:
                  html_content += f'<td>{item}</td>'
              html_content += '</tr>'
          html_content += '</table>'
      html_content += '</body></html>'
      return html_content