Coronavirus: immunity to Covid-19 'could last years'