Ukrainian President Viktor Yanukovych has agreed to an early presidential election as part of a deal to end the long-running crisis.
He said he had also agreed to a national unity government, and to make constitutional changes reducing the power of the president.
The compromise came after hours of talks with the opposition leaders.
The opposition has not spoken about the deal and it remains unclear whether protesters will back it.
Protesters and police are still locked in a stand-off in Kiev, a day after dozens were killed in violent clashes.
Yanukovych announced that a deal had been made early on Friday, but more violence was reported hours later in central Kiev.
The police said they had traded gunfire with protesters, and Ukrainian media said riot police were patrolling inside parliament during a session.
MPs once again began their session with scuffles, as the speaker tried to adjourn a debate concerning constitutional changes.
The protests first erupted in late November when President Yanukovych rejected a landmark association and trade deal with the EU in favour of closer ties with Russia.
Thursday was the bloodiest day since the unrest began.
Police opened fire after protesters tried to push them away from the makeshift camps they have been occupying in central Kiev.
The health ministry said 77 people had been killed since Tuesday, and another 577 were injured.
But activists suggested the death toll was likely to be much higher.