Hamas declares ceasefire with Israel