Imprison is a 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 Sketch, Transform, or learning a new move by leveling up), opponents are prevented from using the new moves.
If a Pokémon has no moves with PP other than moves prevented by Imprison, it will Struggle.
Imprison will still execute even if no opponent has a move the user knows; though it has no immediate effect in such a case, if the opponent is able to change its moveset (e.g. Sketch, Transform, or learning a new move by leveling up) or a different Pokémon enters the battle, it will be prevented from using the user's moves.
Pokémon that learn Imprison
By leveling up