I think it is up to you to call the foul or not, kind of like coaches in the NFL are allowed to waive penalties on the other team, if it is advantageous to do so.
According to World Standardized Rule 3.17, The following rule applies to all fouls:
If on a stroke, the stroke is invalid and any pocketed balls are not counted to the shooter’s credit.
So, in that case, his stroke would not be valid, and balls are reset to original positions, and he LOSES A BALL!!
Also, in the same set of rules applying directly to One Pocket:
Balls pocketed by a shooter in an opponent's target pocket are scored for the opponent, even if the stroke was a foul, but would not count if the cue ball should scratch or jump the table. However, if the stroke is not a foul and the shooter pockets a ball(s) in both target pockets, the shooter's inning continues, with all legally pocketed balls scored to the appropriate player. If a shooter pockets a ball that brings the opponent's score to the number opponent needed to win the game, the shooter has lost unless the cue ball scratches or jumps off the table
This rule pretty much rules out your opponent's move.
In other words, unless YOU call the foul and he immedately agrees, he loses. Otherwise, you refuse to acknowledge his foul, and you win.
Russ