Method: "hardhat_impersonateAccount", What happens when you call this method with an address that doesn't exist?

async function impersonateAccount(acctAddress) {
    method: "hardhat_impersonateAccount",
    params: [acctAddress],
  return await ethers.getSigner(acctAddress);

When forking the blockchain locally on Hardhat, the function above allows developers to impersonate the address passed as argument to it.
So you can create transactions as if you're the owner of the account.

My question: what happens when forking the mainnet, and you pass an address that does not exist on the mainnet as an argument?

Should it throw an error?
Does it create the account for you locally and give you access?

I'd love to know, Thanks.