---Download Defold annotations from here: https://github.com/astrochili/defold-annotations/releases/

---@class detiled.tileset
---@field class string
---@field columns number
---@field fillmode string
---@field grid detiled.tileset.grid
---@field margin number
---@field name string
---@field objectalignment string
---@field spacing number
---@field tilecount number
---@field tiledversion string
---@field tileheight number
---@field tiles detiled.tileset.tile[]
---@field tilewidth number
---@field transformations detiled.tileset.transformations
---@field type string
---@field version string @Example: "1.9"

---@class detiled.tileset.grid
---@field height number
---@field orientation string
---@field width number

---@class detiled.tileset.tile
---@field class string
---@field id number
---@field image string
---@field imageheight number
---@field imagewidth number
---@field objectgroup detiled.tileset.objectgroup|nil
---@field properties detiled.map.property[]

---@class detiled.tileset.objectgroup
---@field visible boolean
---@field id number
---@field name string
---@field draworder string
---@field opacity number
---@field type string
---@field x number
---@field y number
---@field objects detiled.tileset.objectgroup.object[]

---@class detiled.tileset.objectgroup.object
---@field visible boolean
---@field id number
---@field name string
---@field point boolean|nil
---@field width number
---@field height number
---@field x number
---@field y number
---@field class string
---@field rotation number

---@class detiled.tileset.transformations
---@field hflip boolean
---@field preferuntransformed boolean
---@field rotate boolean
---@field vflip boolean

---@class detiled.map
---@field class string
---@field compressionlevel number
---@field height number
---@field infinite boolean
---@field layers detiled.map.layer[]
---@field nextlayerid number
---@field nextobjectid number
---@field orientation string
---@field renderorder string
---@field tiledversion string
---@field tileheight number
---@field tilesets detiled.map.tileset[]
---@field tilewidth number
---@field type string
---@field version string
---@field width number

---@class detiled.map.layer
---@field data number[] @global tile id
---@field height number
---@field id number
---@field name string
---@field offsetx number
---@field offsety number
---@field opacity number
---@field properties detiled.map.property[]
---@field type string
---@field visible boolean
---@field width number
---@field x number
---@field y number
---@field draworder string
---@field objects detiled.map.object[]

---@class detiled.map.property
---@field name string
---@field type string
---@field value string|table
---@field propertytype string|nil

---@class detiled.map.object
---@field class string
---@field gid number
---@field height number
---@field id number
---@field name string
---@field rotation number
---@field visible boolean
---@field width number
---@field properties detiled.map.property[]
---@field objectgroup any
---@field x number
---@field y number

---@class detiled.map.tileset
---@field firstgid number
---@field source string
