The Lebanese army overturned on Saturday two government measures against Hezbollah that had triggered the group to take control of Beirut, and the military urged gunmen to withdraw from the streets.
The army said in a statement it was keeping the head of the security at Beirut airport in his post and that it would handle Hezbollah's communications network in a way "that would not harm public interest and the security of the resistance".
Lebanon's US-backed Prime Minister Fouad Siniora said earlier on Saturday that he was putting the two issues, which have sparked the worst fighting in Lebanon since the 1975-90 civil war, into the hands of the Lebanese army.
Hezbollah's takeover of Beirut in three days of fighting left Siniora's US-backed government reeling and strengthened Hezbollah's position as the most powerful group in Lebanon after a 17-month power struggle with the governing coalition.
Fighting, which has so far killed at least 28 people, erupted after the government said on Tuesday it was taking action against Hezbollah's military communications network and sacked the head security at Beirut airport for his relations with the Shiite group.
Hezbollah, a powerful anti-Israeli military group which is allegedly backed by Syria, said the government had declared war.
Seventeen people died in clashes on Saturday east of Beirut and in north Lebanon. Two civilians were killed in the capital when shots were fired at the funeral of a government supporter in a continuation of the worst violence since the 1975-90 civil war.
At least 75 people have been wounded.
Hezbollah accused pro-government gunmen of Walid Jumblatt's Progressive Socialist Party of abducting three of its members and killing two of them. It held Jumblatt, a Druze leader, responsible for the safe return of the third.