Imprison is a move-restricting Psychic-type move.
As long as the user remains in battle, opponents cannot use any move which is also known by the user (including Pokémon switched in after the move was used). If the user's moveset changes while Imprison is in effect (such as by Mimic, Sketch or Transform), opponents are prevented from using the new moves.
Imprison will fail if no opponent possesses a move the user knows at the time Imprison is used. If the target of this move runs out of PP of the rest of its usable moves, it will use Struggle.
Pokémon that learn Imprison
By leveling up