The evacuation of the last two besieged pro-government towns in northern Syria has been completed, state TV reports.

Dozens of buses and ambulances arrived on Wednesday to take 7,000 residents and fighters from Foah and Kefraya to government-held territory in Aleppo.

They left under a mediated deal which includes the release of rebel prisoners by the government.

The two mainly Shia towns had been under siege by opposition fighters since March 2015.

Syria's Ikhbariya TV said on Thursday morning that all buses had left and that Foah and Kefraya were now "empty of civilians".

The previous day, Hayat Tahrir al-Sham said that it had reached a deal with Syria's ally Iran and that the government would free 1,500 prisoners.

In April 2017, 5,000 people from the two towns were evacuated to Aleppo, while residents from the rebel-held areas near Damascus were taken to Idlib.

However, the deal was overshadowed by a deadly bombing targeting the Foah and Kefraya evacuees and killing over 100 people, including dozens of children.

Population swaps have been common during the Syrian conflict, but rights groups including Amnesty International have described such agreements as "forced displacement".