James Maddison has aareed a five-year deal with Leicester City.