input: from typing import List, Dict, Optional
  
  def sru_search(query: str, collection: Optional[str] = None, start_record: int = 1, 
                 max_records: int = 10, record_schema: Optional[str] = None) -> Dict[str, List[str]]:
      """
      Perform a search using the KB SRU API with the given query and optional parameters.
      The response object can be used to extract specific information such as titles, creators, and subjects.
      
      Example:
      >>> result = sru_search("python", collection="ANP", max_records=3)
      >>> result.get("titles", [])
      ['Python Programming', 'Python for Data Science', 'Python Machine Learning']
      
      >>> result = sru_search("data", record_schema="dcx")
      >>> result.get("creators", [])
      ['Author A', 'Author B']
      """
      sru_instance = sru()
      response = sru_instance.search(query, collection=collection, 
                                     startrecord=start_record, maximumrecords=max_records, recordschema=record_schema)
      
      if not response:
          return {}
      
      result = {
          "titles": response.titles,
          "creators": response.creators,
          "subjects": response.subjectsBrinkman + response.subjectsISO9707 + response.subjectsUNESCO,
          # Add other fields as needed
      }
      return result
  
output:     if not response:
          return {}
      
      result = {
          "titles": response.titles,
          "creators": response.creators,
          "subjects": response.subjectsBrinkman + response.subjectsISO9707 + response.subjectsUNESCO,
          # Add other fields as needed
      }
      return result