Depends entirely on the company. Some recognise dual tracks to progress along, where a team can simultaneously have a Team Lead and a Technical Lead. Some refuse to accept that anyone wouldn't want a management role eventually.
Some find a need for an Architect. More recently, some recognise the need for Software Configuration Management, which you would only give to your more Senior Developers. Some Agile companies have Coaches, whose entire purpose is to walk around looking for signs of someone struggling and help them.
I've often wondered if there's a role for an equivalent to an Editor in publishing, perhaps a Code Reviewer. Someone who keeps an eye on other people's code but never writes code directly. But I've never seen such a role anywhere.
In other words, don't think too much about it. Job titles are relatively meaningless in this industry, unless it's a management role (and even then I've seen some odd ones). In each company that you work for, fill whatever role is available and interesting to you, and ask for the appropriate money to justify your existence.
Edit: To explain a bit further, given Oded's comment.
There may come a time in your career when you go from being a technical lead at one company to a senior developer at another and that will still be a progression. You can know your technology as well as you like but, if someone else there knows it better, (or even knows it slightly less but also has 3 years of domain knowledge,) you're not going to make technical decisions over their head.
As long as you're not taking a pay cut, what do you care what your new title is? And if there is an even-better developer to learn from, all the better.