A deal between the US and Iran could be signed within 48 hours, according to US officials.