#######################################
# Datatypes (KEYWORD1)
#######################################
ButtonHandler            KEYWORD1
IButtonHandler           KEYWORD1
ButtonPressType          KEYWORD1
ButtonTimingConfig       KEYWORD1
ButtonPerConfig          KEYWORD1
ButtonPins               KEYWORD1
ButtonIndex              KEYWORD1
Button                   KEYWORD1
TimeFn                   KEYWORD1
LatchMode                KEYWORD1
LatchTrigger             KEYWORD1

#######################################
# Methods and Functions (KEYWORD2)
#######################################
# Factories (easy header)
makeButtons                        KEYWORD2
makeButtonsWithPins                KEYWORD2
makeButtonsWithReader              KEYWORD2
makeButtonsWithPinsAndReader       KEYWORD2
makeButtonsWithReaderCtx           KEYWORD2
makeButtonsWithPinsAndReaderCtx    KEYWORD2

# Core APIs
update                    KEYWORD2
isPressed                 KEYWORD2
getPressType               KEYWORD2
peekPressType              KEYWORD2
getLastPressDuration       KEYWORD2
reset                     KEYWORD2
pressedMask               KEYWORD2
snapshot                  KEYWORD2
forEach                   KEYWORD2
size                      KEYWORD2
sizeStatic                KEYWORD2

# Runtime configuration
setReadPinFn               KEYWORD2
setReadFn                  KEYWORD2
setTiming                  KEYWORD2
setGlobalTiming            KEYWORD2
setPerConfig               KEYWORD2
enable                     KEYWORD2
setActiveLow               KEYWORD2
setTimeFn                  KEYWORD2
isLatched                  KEYWORD2
latchedMask                KEYWORD2
getAndClearLatchedChanged  KEYWORD2
setLatched                 KEYWORD2
clearAllLatched            KEYWORD2
clearLatchedMask           KEYWORD2

# Utils (device-agnostic)
indexFromKey               KEYWORD2
indexFromKeyIn             KEYWORD2

#######################################
# Constants / Macros (LITERAL1)
#######################################
UNIVERSAL_BUTTON_VERSION   LITERAL1
BUTTON_LIST                LITERAL1
BUTTON_PINS                LITERAL1
NUM_BUTTONS                LITERAL1
UB_REQUIRE_BUTTON_LIST     LITERAL1
UB_UTIL_NO_CONFIG_MAP      LITERAL1
