US President Donald Trump has threatened to invoke the rarely used Insurrection Act to quell unrest over federal immigration enforcement operations in Minneapolis.

He threatened to send in troops following a night of protests and vandalism in the Minnesota city after an agent shot a man in the leg.

The Department of Homeland Security (DHS) said an officer opened fire after he was attacked by three Venezuelan nationals with a shovel and broom handle.

Tensions have been running high in Minneapolis since an immigration agent fatally shot Renee Nicole Good, 37, last week, sparking nationwide protests.

The Insurrection Act is a 19th Century law that allows active-duty military personnel to be deployed for law-enforcement duties inside the US.