The deal which will see Federer return to play in his hometown of Basel ensures he will still be playing at the age of 38.
The 35-year-old returned after six months from a knee injury to win the 2017 Australian Open on 29 January, beating long-time rival Rafael Nadal in the final to lift his 18th career Grand Slam.
The world number nine, who was in Prague to promote the Laver Cup, says he was tempted to leave the sport on a high like Pete Sampras did after winning the 2002 US Open, but wants to keep experiencing the joys of winning.
"I guess in a faraway place it did cross my mind: How could I ever top this?" Federer told the New York Times.
"But then again, the joy was so big, and I kept on watching the reaction of my team when I won the match point in Australia and how they were jumping for joy. Unbelievable. So much fun. I feel like I want to go through it again."
The Swiss is also happy that he did not have to play straightaway after winning his first Grand Slam since July 2012 where he won Wimbledon.
"This one definitely has had maybe the longest effect of any of the Grand Slam wins in my career," he added. "I'm so happy because I didn't have to play in the following weeks. It's really allowed me to reflect and enjoy."
"In the past in 2003, when I won Wimbledon for the first time, I was in Gstaad the next day practising and stuff. It's very different this time. I'm still riding the wave, still feeling like I'm on cloud nine."
Reiterating that he still has plenty of tennis left in him, he said: "The goal, when I took my break of six months, was doing this for the next couple years, not just for one tournament."
"I understand people who say, 'Oh, this would be a perfect moment to go.' But I feel like I've put in so much work, and I love it so much, and I still have so much in the tank."