I don't know of an event type you can use to trigger that, but you can start a process like this on change or creation:
while ($true)
{
try{
[IO.file]::openwrite(<filepath>).close()
break
}
catch { start-sleep -Seconds 5 }
}
do-stuff
As long as the file is being written to you won't be able to get a write lock, and the openwrite will throw an error. As soon as it's closed, the openwrite will succeed, break the loop and fall through to the rest of the script.