prescient

adjective
  1. having knowledge of events before they happen; showing foresight or prophetic insight
  2. Usage: formal

Examples