
Functions:

local playerGearInfo = raidStatusLib.gearManager.GetPlayerGearTable(playerName)
playerGearInfo = {
    .durability = number
    .ilevel = number
    .noGems = {socketId}
    .noEnchants = {socketId}
}

local playerInformation = raidStatusLib.playerInfoManager.GetPlayerInfoTable(playerName)
playerInformation = {
    .specId = number
    .renown = number, 
    .talents = {talentId}, 
    .conduits = {spellId},
}

local playerCooldows = raidStatusLib.cooldownManager.GetPlayerCooldownTable(playerName)
playerCooldows = {
    [cooldownSpellId] = {
        .timeLeft, 
        .charges
    }
}

Callbacks available

"CooldownListUpdate": triggers when the lib received a list of cooldowns from another player in the group.

function MyAddonObject.OnReceiveCooldownListUpdate(unitName, cooldownTable)
    --foreach player in the cooldown table
    for unitName, playerCooldownTable in pairs(cooldownTable) do
        for spellId, cooldownInfoTable in pairs(playerCooldownTable) do
            --if timeLeft is zero, the spell is ready
            local timeLeft = cooldownInfoTable[1]
            --in some cases the spell is on cooldown but there's a charge to use
            local charges = cooldownInfoTable[2]
        end
    end

    --get the cooldowns for the unit which got the cooldown update
    local unitCooldownTable = cooldownTable[unitName]
    for spellId, cooldownInfoTable in pairs(unitCooldownTable) do
        --if timeLeft is zero, the spell is ready
        local timeLeft = cooldownInfoTable[1]
        --in some cases the spell is on cooldown but there's a charge to use
        local charges = cooldownInfoTable[2]
    end
end
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownListUpdate", "OnReceiveCooldownListUpdate")


"CooldownUpdate": triggered when any unit in the group used a cooldown or the timeleft got an update

function MyAddonObject.OnReceiveCooldownUpdate(unitName, spellId, cooldownTimeLeft, charges, playerCooldownTable)
    local unitCooldowns = cooldownTable[unitName]
    local cooldownTimeLeft2 = unitCooldowns[spellId]
    print("is iqual:", cooldownTimeLeft == cooldownTimeLeft2)

    --get the cooldowns for the unit which got the cooldown update
    for spellId, cooldownInfoTable in pairs(playerCooldownTable) do
        --if timeLeft is zero, the spell is ready
        local timeLeft = cooldownInfoTable[1]
        --in some cases the spell is on cooldown but there's a charge to use
        local charges = cooldownInfoTable[2]
    end
end
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownUpdate", "OnReceiveCooldownUpdate")


"CooldownListWiped": when the list of cooldowns get a wipe, usually when the player leave the group

function MyAddonObject.OnCooldownListWipe(cooldownTable)
    print ("is nil:", next(cooldownTable))
end
raidStatusLib.RegisterCallback(MyAddonObject, "CooldownListWiped", "OnCooldownListWipe")


"GearDurabilityUpdate": when a player in the group revives, the gear durability is sent

function MyAddonObject.OnGearDurabilityUpdate(playerName, durability, gearTable)
    print(playerName .. " durability is now " .. durability)
end
raidStatusLib.RegisterCallback(MyAddonObject, "GearDurabilityUpdate", "OnGearDurabilityUpdate")


"GearUpdate": when received an update from a player with all information about the gear

function MyAddonObject.OnGearUpdate(playerName, playerGearInfo, gearTable)
    local itemLevelNumber = playerGearInfo.ilevel
    local durabilityNumber = playerGearInfo.durability
    --hasWeaponEnchant is 1 have enchant or 0 is don't
    local hasWeaponEnchantNumber = playerGearInfo.weaponEnchant
    local noEnchantTable = playerGearInfo.noEnchants
    local noGemsTable = playerGearInfo.noGems

    for index, slotIdWithoutEnchant in ipairs (noEnchantTable) do
    end

    for index, slotIdWithEmptyGemSocket in ipairs (noGemsTable) do
    end
end
raidStatusLib.RegisterCallback(MyAddonObject, "GearUpdate", "OnGearUpdate")


"GearListWiped": when the list of gear get a wipe, usually when the player leave the group

function MyAddonObject.OnGearListWiped(gearTable)
    print ("is nil:", next(gearTable))
end
raidStatusLib.RegisterCallback(MyAddonObject, "GearListWiped", "OnGearListWiped")
