# Functions
AutoSelectForUser requests if any previous broker was used by this user to automatically selects it.
TeaHeadlessOptions gets the options to run a bubbletea program in headless mode.
# Constants
Gdm is a gnome-shell client via GDM display manager.
InteractiveTerminal indicates an interactive terminal we can directly write our interface to.
Native indicates a PAM Client that is not supporting any special protocol.
# Structs
AuthModeSelected is triggered when the authentication mode has been chosen.
BrokerSelected signifies that the broker has been chosen.
ChangeStage signals that the model requires a stage change.
GetAuthenticationModesRequested signals that a model needs to get the broker authentication modes.
PamIgnore signals PAM module to return pam.Ignore and Quit tea.Model.
PamSuccess signals PAM module to return with provided pam.Success and Quit tea.Model.
SessionEnded signals that the session is done and closed from the broker.
SessionStarted signals that we started a session with a given broker.
UILayoutReceived means that we got the ui layout to display by the broker.
UIModel is the global models orchestrator.
UsernameOrBrokerListReceived is received either when the user name is filled (pam or manually) and we got the broker list.
# Interfaces
PamReturnError is an interface that PAM errors return types should implement.
PamReturnStatus is the interface that all PAM return types should implement.
# Type aliases
PamClientType indicates the type of the PAM client we're handling.