Chase (Sapphire branded only) and Citi cards stipulate 48 months since the last bonus was received for the same card. American Express seems to require 7 years from the time the previous account was closed, but they often send targeted offers without this requirement. It's important to understand not only the amount of time, but the event which starts the clock running. Also, some issuers do not enforce the terms as written. Chase (INK branded only) show a 24 month waiting period that is ignored.
And some (at least one of my cards), are a one-time promotion. Bank of America Premium Rewards Elite (for example), states: "Limit 1 bonus points offer per new account. This one-time promotion is limited to customers opening a new account in response to this offer and will not apply to requests to convert existing accounts."
Barclays is 24 months from card opening (I think).
Also to consider is some banks also don't like you closing the card, and then re-applying in X days (30 days, 60, etc.) Varies per bank/lender.