Spanish PM 'will announce snap election'