Why does my script think .Loaded is a child?

I have my script here, but I am not sure what’s causing the script to think that .Loaded is a child.
The error:

local UI = script.Parent

local Bar = UI.Bar

local Loader = UI.Loader

local LoaderMain = Loader.Main

local LoaderImages = LoaderMain:FindFirstChild(“Images”)

local TotalText = Loader.Total.Text

LoaderImages.Image = ‘rbxassetid://6855764269’

if LoaderImages.IsLoaded == false then

wait()

LoaderImages.Loaded:Wait()

TotalText = “1/8”

LoaderImages.Image = ‘rbxassetid://0’

end

Loaded is not an event/property/function of an ImageLabel, so it assumes you’re trying to get a child. The only real thing you can do is a busy wait

repeat game:GetService("RunService").Heartbeat:Wait() until LoaderImages.IsLoaded
if not LoaderImages.IsLoaded then
    LoaderImages:GetPropertyChangedSignal("IsLoaded"):Wait()
end

change wait() to wait(0.5) it might work idk