To answar your question, probably not the way you want it to be. For me it took me a while to get used to the way how things are done with Nim macros. For example with typed macros, you can ask the type of any node with getTypeInst and getTypeImpl what type they have, or even look on how they are implemented, but the problem is, that you wouldn't be able to pass a nonexisting node to a typed macro, the typechecker that runs before the macro is called will complain. On the other hand untyped arguments to marcos are not typechecked before they are passed to the macros, but that means that they will be just identifiers without types. Calling getType on it will not work. Something like isDefined does not exist, but that doesn't mean you can't do what you want to do.
So if you have a more specific question on what your intention is, I might be able to help you more.