PAM modules that are referenced in the configuration files can be located with this command:
ls /lib/*/security
returns:
pam_access.so pam_gnome_keyring.so pam_nologin.so pam_tally.so pam_cap.so pam_group.so pam_permit.so pam_time.so pam_cifscreds.so pam_issue.so pam_pwhistory.so pam_timestamp.so pam_debug.so pam_keyinit.so pam_rhosts.so pam_tty_audit.so pam_deny.so pam_lastlog.so pam_rootok.so pam_umask.so pam_echo.so pam_limits.so pam_securetty.so pam_unix.so pam_env.so pam_listfile.so pam_selinux.so pam_userdb.so pam_exec.so pam_localuser.so pam_sepermit.so pam_warn.so pam_extrausers.so pam_loginuid.so pam_shells.so pam_wheel.so pam_faildelay.so pam_mail.so pam_stress.so pam_xauth.so pam_filter.so pam_mkhomedir.so pam_succeed_if.so pam_ftp.so pam_motd.so pam_systemd.so pam_gdm.so pam_namespace.so pam_tally2.so . . .
Look in this directory to see what kind of modules are available to use.
Almost all of the modules have man pages, which can describe their usage. For example:
man pam_access