I’m not justified in calling something foreshadowing until the thing it foreshadows actually happens. In the same way that unreliable narration needs to be matched with reliable narration, foreshadowing needs to be matched with the consequences that were foreshadowed.
For example, the story is littered with a long list of things that we now call Red Wedding foreshadowing. Grey Wind dislikes the Freys and Westerlings. The music at the wedding is terrible because the band aren’t musicians.
Now imagine that the Red Wedding never happened. Well, now Grey Wind and the band aren’t foreshadowing anything anymore. So it wouldn’t make sense to call those things foreshadowing even though they remain in the story.
So with this definition of foreshadowing, foreshadowing is something that only reveals itself in retrospect. I’m allowed to point to something that I think has the potential and even likelihood to one day become foreshadowing in light of some future consequence, but I’m not allowed to label something foreshadowing for certain until the thing it foreshadows has happened.
I treat visions, dreams, prophecies and foreshadowing as all fundamentally the same thing: Foreshadowing. This is the reason I’m not justified to say for certain that, for example, the identity of the girl in Melisandre’s Girl in Grey prophecy is absolutely 100% Arya Stark. Even though I’m confident that all of the pieces of the puzzle are accounted for, there is one piece for which I can never account. That is the final, ultimate prediction: It’s the girl’s arrival at the Wall to meet Jon Snow. Until Arya arrives at the Wall to meet Jon, the prophecy remains incomplete and unfulfilled.