type [-afptP] name [name ...]
For each NAME, indicate how it would be interpreted if used as a command name.
If the -t option is used, type outputs a single word which is one of alias, keyword, function, builtin, file, if NAME is an alias, shell reserved word, shell function, shell builtin, disk file, or unfound, respectively.
If the -p flag is used, type either returns the name of the disk file that would be executed, or nothing if type -t NAME would not return file.
If the -a flag is used, type displays all of the places that contain an executable named file. This includes aliases, builtins, and functions, if and only if the -p flag is not also used.
The -f flag suppresses shell function lookup.
The -P flag forces a PATH search for each NAME, even if it is an alias, builtin, or function, and returns the name of the disk file that would be executed.
typeset [-afFirtx] [-p] name[=value] ...
Obsolete. See declare.
Reference: https://cgit.git.savannah.gnu.org/cgit/bash.git/plain/builtins/type.def?h=bash-5.3