Short answer: No
Long answer: It's a bit more complicated than that. Not all gateways are 100% either off-site or on-site. For example Sage Pay Direct takes credit card details on your site, but then some cards will require redirection to a third party site because they require 3d-secure.
For this reason, the redirect is part of the Response, not inherent in the gateway. You can use $response->isRedirect()
to detect whether you need to redirect to an off-site URL for further processing.
Regarding credit card fields - it's not possible to know in advance which fields are required by the gateway either, this often depends on which features are enabled on your particular account, or the card in question. It may be possible to add some sort of "default display fields" to Omnipay, but it doesn't exist yet.