quote
$(Expr(:toplevel, quote
    gboxed_types = Any[]
    begin
        struct _GskColorStop
            offset::Float32
            color::_GdkRGBA
        end
        mutable struct GskColorStop
            handle::Ptr{_GskColorStop}
        end
        unsafe_convert(::Type{Ptr{_GskColorStop}}, box::GskColorStop) = begin
                convert(Ptr{_GskColorStop}, box.handle)
            end
    end
    begin
        struct _GskParseLocation
            bytes::UInt64
            chars::UInt64
            lines::UInt64
            line_bytes::UInt64
            line_chars::UInt64
        end
        mutable struct GskParseLocation
            handle::Ptr{_GskParseLocation}
        end
        unsafe_convert(::Type{Ptr{_GskParseLocation}}, box::GskParseLocation) = begin
                convert(Ptr{_GskParseLocation}, box.handle)
            end
    end
    begin
        mutable struct GskRoundedRect
            handle::Ptr{GskRoundedRect}
        end
        const _GskRoundedRect = GskRoundedRect
    end
    begin
        struct _GskShadow
            color::_GdkRGBA
            dx::Float32
            dy::Float32
            radius::Float32
        end
        mutable struct GskShadow
            handle::Ptr{_GskShadow}
        end
        unsafe_convert(::Type{Ptr{_GskShadow}}, box::GskShadow) = begin
                convert(Ptr{_GskShadow}, box.handle)
            end
    end
    mutable struct GskTransform <: GBoxed
        handle::Ptr{GskTransform}
        begin
            (GLib.g_type(::Type{T}) where T <: GskTransform) = begin
                    ccall(("gsk_transform_get_type", libgtk4), GType, ())
                end
            function GskTransform(ref::Ptr{T}, own::Bool = false) where T <: GBoxed
                x = new(ref)
                if own
                    finalizer(x) do x
                        GLib.delboxed(x)
                    end
                end
                x
            end
            push!(gboxed_types, GskTransform)
        end
    end
    function GskTransform()
        G_.Transform_new()
    end
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/struct.ColorStop.html)." GskColorStop
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/struct.ParseLocation.html)." GskParseLocation
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/struct.RoundedRect.html)." GskRoundedRect
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/struct.Shadow.html)." GskShadow
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/struct.Transform.html)." GskTransform
    begin
        abstract type GskRenderNode <: GTypeInstance end
        Base.convert(::Type{GskRenderNode}, ptr::Ptr{GskRenderNode}) = begin
                GskRenderNodeLeaf(ptr)
            end
        Base.unsafe_convert(::Type{Ptr{GskRenderNode}}, o::GskRenderNode) = begin
                o.handle
            end
    end
    begin
        mutable struct GskRenderNodeLeaf <: GskRenderNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskBlendNode <: GskRenderNode end
    end
    begin
        mutable struct GskBlendNodeLeaf <: GskBlendNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskBlurNode <: GskRenderNode end
    end
    begin
        mutable struct GskBlurNodeLeaf <: GskBlurNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskBorderNode <: GskRenderNode end
    end
    begin
        mutable struct GskBorderNodeLeaf <: GskBorderNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskRenderer <: GObject end
        mutable struct GskRendererLeaf <: GskRenderer
            handle::Ptr{GObject}
            function GskRendererLeaf(handle::Ptr{GObject}, owns = false)
                if handle == C_NULL
                    error("Cannot construct GskRendererLeaf with a NULL pointer")
                end
                GLib.gobject_maybe_sink(handle, owns)
                return gobject_ref(new(handle))
            end
        end
        gtype_wrapper_cache[:GskRenderer] = GskRendererLeaf
        (GLib.g_type(::Type{T}) where T <: GskRenderer) = begin
                ccall(("gsk_renderer_get_type", libgtk4), GType, ())
            end
    end
    begin
        function GLib.signalnames(::Type{GskRenderer})
            signalnames(supertype(GskRenderer))
        end
    end
    begin
        abstract type GskBroadwayRenderer <: GskRenderer end
        mutable struct GskBroadwayRendererLeaf <: GskBroadwayRenderer
            handle::Ptr{GObject}
            function GskBroadwayRendererLeaf(handle::Ptr{GObject}, owns = false)
                if handle == C_NULL
                    error("Cannot construct GskBroadwayRendererLeaf with a NULL pointer")
                end
                GLib.gobject_maybe_sink(handle, owns)
                return gobject_ref(new(handle))
            end
        end
        gtype_wrapper_cache[:GskBroadwayRenderer] = GskBroadwayRendererLeaf
        (GLib.g_type(::Type{T}) where T <: GskBroadwayRenderer) = begin
                ccall(("gsk_broadway_renderer_get_type", libgtk4), GType, ())
            end
    end
    begin
        function GLib.signalnames(::Type{GskBroadwayRenderer})
            signalnames(supertype(GskBroadwayRenderer))
        end
    end
    begin
        abstract type GskCairoNode <: GskRenderNode end
    end
    begin
        mutable struct GskCairoNodeLeaf <: GskCairoNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskCairoRenderer <: GskRenderer end
        mutable struct GskCairoRendererLeaf <: GskCairoRenderer
            handle::Ptr{GObject}
            function GskCairoRendererLeaf(handle::Ptr{GObject}, owns = false)
                if handle == C_NULL
                    error("Cannot construct GskCairoRendererLeaf with a NULL pointer")
                end
                GLib.gobject_maybe_sink(handle, owns)
                return gobject_ref(new(handle))
            end
        end
        gtype_wrapper_cache[:GskCairoRenderer] = GskCairoRendererLeaf
        (GLib.g_type(::Type{T}) where T <: GskCairoRenderer) = begin
                ccall(("gsk_cairo_renderer_get_type", libgtk4), GType, ())
            end
    end
    begin
        function GLib.signalnames(::Type{GskCairoRenderer})
            signalnames(supertype(GskCairoRenderer))
        end
    end
    begin
        abstract type GskClipNode <: GskRenderNode end
    end
    begin
        mutable struct GskClipNodeLeaf <: GskClipNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskColorMatrixNode <: GskRenderNode end
    end
    begin
        mutable struct GskColorMatrixNodeLeaf <: GskColorMatrixNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskColorNode <: GskRenderNode end
    end
    begin
        mutable struct GskColorNodeLeaf <: GskColorNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskConicGradientNode <: GskRenderNode end
    end
    begin
        mutable struct GskConicGradientNodeLeaf <: GskConicGradientNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskContainerNode <: GskRenderNode end
    end
    begin
        mutable struct GskContainerNodeLeaf <: GskContainerNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskCrossFadeNode <: GskRenderNode end
    end
    begin
        mutable struct GskCrossFadeNodeLeaf <: GskCrossFadeNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskDebugNode <: GskRenderNode end
    end
    begin
        mutable struct GskDebugNodeLeaf <: GskDebugNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskGLRenderer <: GskRenderer end
        mutable struct GskGLRendererLeaf <: GskGLRenderer
            handle::Ptr{GObject}
            function GskGLRendererLeaf(handle::Ptr{GObject}, owns = false)
                if handle == C_NULL
                    error("Cannot construct GskGLRendererLeaf with a NULL pointer")
                end
                GLib.gobject_maybe_sink(handle, owns)
                return gobject_ref(new(handle))
            end
        end
        gtype_wrapper_cache[:GskGLRenderer] = GskGLRendererLeaf
        (GLib.g_type(::Type{T}) where T <: GskGLRenderer) = begin
                ccall(("gsk_gl_renderer_get_type", libgtk4), GType, ())
            end
    end
    begin
        function GLib.signalnames(::Type{GskGLRenderer})
            signalnames(supertype(GskGLRenderer))
        end
    end
    begin
        abstract type GskGLShader <: GObject end
        mutable struct GskGLShaderLeaf <: GskGLShader
            handle::Ptr{GObject}
            function GskGLShaderLeaf(handle::Ptr{GObject}, owns = false)
                if handle == C_NULL
                    error("Cannot construct GskGLShaderLeaf with a NULL pointer")
                end
                GLib.gobject_maybe_sink(handle, owns)
                return gobject_ref(new(handle))
            end
        end
        gtype_wrapper_cache[:GskGLShader] = GskGLShaderLeaf
        (GLib.g_type(::Type{T}) where T <: GskGLShader) = begin
                ccall(("gsk_gl_shader_get_type", libgtk4), GType, ())
            end
    end
    begin
        function GLib.signalnames(::Type{GskGLShader})
            signalnames(supertype(GskGLShader))
        end
    end
    begin
        abstract type GskGLShaderNode <: GskRenderNode end
    end
    begin
        mutable struct GskGLShaderNodeLeaf <: GskGLShaderNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskInsetShadowNode <: GskRenderNode end
    end
    begin
        mutable struct GskInsetShadowNodeLeaf <: GskInsetShadowNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskLinearGradientNode <: GskRenderNode end
    end
    begin
        mutable struct GskLinearGradientNodeLeaf <: GskLinearGradientNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskMaskNode <: GskRenderNode end
    end
    begin
        mutable struct GskMaskNodeLeaf <: GskMaskNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskNglRenderer <: GskRenderer end
        mutable struct GskNglRendererLeaf <: GskNglRenderer
            handle::Ptr{GObject}
            function GskNglRendererLeaf(handle::Ptr{GObject}, owns = false)
                if handle == C_NULL
                    error("Cannot construct GskNglRendererLeaf with a NULL pointer")
                end
                GLib.gobject_maybe_sink(handle, owns)
                return gobject_ref(new(handle))
            end
        end
        gtype_wrapper_cache[:GskNglRenderer] = GskNglRendererLeaf
        (GLib.g_type(::Type{T}) where T <: GskNglRenderer) = begin
                ccall(("gsk_ngl_renderer_get_type", libgtk4), GType, ())
            end
    end
    begin
        function GLib.signalnames(::Type{GskNglRenderer})
            signalnames(supertype(GskNglRenderer))
        end
    end
    begin
        abstract type GskOpacityNode <: GskRenderNode end
    end
    begin
        mutable struct GskOpacityNodeLeaf <: GskOpacityNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskOutsetShadowNode <: GskRenderNode end
    end
    begin
        mutable struct GskOutsetShadowNodeLeaf <: GskOutsetShadowNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskRadialGradientNode <: GskRenderNode end
    end
    begin
        mutable struct GskRadialGradientNodeLeaf <: GskRadialGradientNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskRepeatNode <: GskRenderNode end
    end
    begin
        mutable struct GskRepeatNodeLeaf <: GskRepeatNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskRepeatingLinearGradientNode <: GskRenderNode end
    end
    begin
        mutable struct GskRepeatingLinearGradientNodeLeaf <: GskRepeatingLinearGradientNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskRepeatingRadialGradientNode <: GskRenderNode end
    end
    begin
        mutable struct GskRepeatingRadialGradientNodeLeaf <: GskRepeatingRadialGradientNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskRoundedClipNode <: GskRenderNode end
    end
    begin
        mutable struct GskRoundedClipNodeLeaf <: GskRoundedClipNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskShadowNode <: GskRenderNode end
    end
    begin
        mutable struct GskShadowNodeLeaf <: GskShadowNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskTextNode <: GskRenderNode end
    end
    begin
        mutable struct GskTextNodeLeaf <: GskTextNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskTextureNode <: GskRenderNode end
    end
    begin
        mutable struct GskTextureNodeLeaf <: GskTextureNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskTextureScaleNode <: GskRenderNode end
    end
    begin
        mutable struct GskTextureScaleNodeLeaf <: GskTextureScaleNode
            handle::Ptr{GskRenderNode}
        end
    end
    begin
        abstract type GskTransformNode <: GskRenderNode end
    end
    begin
        mutable struct GskTransformNodeLeaf <: GskTransformNode
            handle::Ptr{GskRenderNode}
        end
    end
    function GskBlendNode(_bottom::GskRenderNode, _top::GskRenderNode, _blend_mode)
        G_.BlendNode_new(_bottom, _top, _blend_mode)
    end
    function GskBlurNode(_child::GskRenderNode, _radius::Real)
        G_.BlurNode_new(_child, _radius)
    end
    function GskBorderNode(_outline::Union{GskRoundedRect, Ref{_GskRoundedRect}}, _border_width, _border_color)
        G_.BorderNode_new(_outline, _border_width, _border_color)
    end
    function GskBroadwayRenderer()
        G_.BroadwayRenderer_new()
    end
    function GskCairoNode(_bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        G_.CairoNode_new(_bounds)
    end
    function GskCairoRenderer()
        G_.CairoRenderer_new()
    end
    function GskClipNode(_child::GskRenderNode, _clip::Union{GrapheneRect, Ref{_GrapheneRect}})
        G_.ClipNode_new(_child, _clip)
    end
    function GskColorMatrixNode(_child::GskRenderNode, _color_matrix::Union{GrapheneMatrix, Ref{_GrapheneMatrix}}, _color_offset::Union{GrapheneVec4, Ref{_GrapheneVec4}})
        G_.ColorMatrixNode_new(_child, _color_matrix, _color_offset)
    end
    function GskColorNode(_rgba::Union{GdkRGBA, Ref{_GdkRGBA}}, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        G_.ColorNode_new(_rgba, _bounds)
    end
    function GskConicGradientNode(_bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _center::Union{GraphenePoint, Ref{_GraphenePoint}}, _rotation::Real, _color_stops)
        G_.ConicGradientNode_new(_bounds, _center, _rotation, _color_stops)
    end
    function GskContainerNode(_children)
        G_.ContainerNode_new(_children)
    end
    function GskCrossFadeNode(_start::GskRenderNode, _end::GskRenderNode, _progress::Real)
        G_.CrossFadeNode_new(_start, _end, _progress)
    end
    function GskDebugNode(_child::GskRenderNode, _message::Union{AbstractString, Symbol})
        G_.DebugNode_new(_child, _message)
    end
    function GskGLRenderer()
        G_.GLRenderer_new()
    end
    function GskGLShader(_sourcecode::GBytes; kwargs...)
        obj = G_.GLShader_new_from_bytes(_sourcecode)
        GLib.setproperties!(obj; kwargs...)
        obj
    end
    function GskGLShader(_resource_path::Union{AbstractString, Symbol}; kwargs...)
        obj = G_.GLShader_new_from_resource(_resource_path)
        GLib.setproperties!(obj; kwargs...)
        obj
    end
    function GskGLShaderNode(_shader::GskGLShader, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _args::GBytes, _children)
        G_.GLShaderNode_new(_shader, _bounds, _args, _children)
    end
    function GskInsetShadowNode(_outline::Union{GskRoundedRect, Ref{_GskRoundedRect}}, _color::Union{GdkRGBA, Ref{_GdkRGBA}}, _dx::Real, _dy::Real, _spread::Real, _blur_radius::Real)
        G_.InsetShadowNode_new(_outline, _color, _dx, _dy, _spread, _blur_radius)
    end
    function GskLinearGradientNode(_bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _start::Union{GraphenePoint, Ref{_GraphenePoint}}, _end::Union{GraphenePoint, Ref{_GraphenePoint}}, _color_stops)
        G_.LinearGradientNode_new(_bounds, _start, _end, _color_stops)
    end
    function GskMaskNode(_source::GskRenderNode, _mask::GskRenderNode, _mask_mode)
        G_.MaskNode_new(_source, _mask, _mask_mode)
    end
    function GskOpacityNode(_child::GskRenderNode, _opacity::Real)
        G_.OpacityNode_new(_child, _opacity)
    end
    function GskOutsetShadowNode(_outline::Union{GskRoundedRect, Ref{_GskRoundedRect}}, _color::Union{GdkRGBA, Ref{_GdkRGBA}}, _dx::Real, _dy::Real, _spread::Real, _blur_radius::Real)
        G_.OutsetShadowNode_new(_outline, _color, _dx, _dy, _spread, _blur_radius)
    end
    function GskRadialGradientNode(_bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _center::Union{GraphenePoint, Ref{_GraphenePoint}}, _hradius::Real, _vradius::Real, _start::Real, _end::Real, _color_stops)
        G_.RadialGradientNode_new(_bounds, _center, _hradius, _vradius, _start, _end, _color_stops)
    end
    function GskRenderer(_surface::GdkSurface; kwargs...)
        obj = G_.Renderer_new_for_surface(_surface)
        GLib.setproperties!(obj; kwargs...)
        obj
    end
    function GskRepeatNode(_bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _child::GskRenderNode, _child_bounds::Maybe(Union{GrapheneRect, Ref{_GrapheneRect}}))
        G_.RepeatNode_new(_bounds, _child, _child_bounds)
    end
    function GskRepeatingLinearGradientNode(_bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _start::Union{GraphenePoint, Ref{_GraphenePoint}}, _end::Union{GraphenePoint, Ref{_GraphenePoint}}, _color_stops)
        G_.RepeatingLinearGradientNode_new(_bounds, _start, _end, _color_stops)
    end
    function GskRepeatingRadialGradientNode(_bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _center::Union{GraphenePoint, Ref{_GraphenePoint}}, _hradius::Real, _vradius::Real, _start::Real, _end::Real, _color_stops)
        G_.RepeatingRadialGradientNode_new(_bounds, _center, _hradius, _vradius, _start, _end, _color_stops)
    end
    function GskRoundedClipNode(_child::GskRenderNode, _clip::Union{GskRoundedRect, Ref{_GskRoundedRect}})
        G_.RoundedClipNode_new(_child, _clip)
    end
    function GskShadowNode(_child::GskRenderNode, _shadows)
        G_.ShadowNode_new(_child, _shadows)
    end
    function GskTextNode(_font::PangoFont, _glyphs::Union{PangoGlyphString, Ref{_PangoGlyphString}}, _color::Union{GdkRGBA, Ref{_GdkRGBA}}, _offset::Union{GraphenePoint, Ref{_GraphenePoint}})
        G_.TextNode_new(_font, _glyphs, _color, _offset)
    end
    function GskTextureNode(_texture::GdkTexture, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}})
        G_.TextureNode_new(_texture, _bounds)
    end
    function GskTextureScaleNode(_texture::GdkTexture, _bounds::Union{GrapheneRect, Ref{_GrapheneRect}}, _filter)
        G_.TextureScaleNode_new(_texture, _bounds, _filter)
    end
    function GskTransformNode(_child::GskRenderNode, _transform::GskTransform)
        G_.TransformNode_new(_child, _transform)
    end
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.BlendNode.html)." GskBlendNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.BlurNode.html)." GskBlurNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.BorderNode.html)." GskBorderNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.CairoNode.html)." GskCairoNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.CairoRenderer.html)." GskCairoRenderer
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.ClipNode.html)." GskClipNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.ColorMatrixNode.html)." GskColorMatrixNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.ColorNode.html)." GskColorNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.ConicGradientNode.html)." GskConicGradientNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.ContainerNode.html)." GskContainerNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.CrossFadeNode.html)." GskCrossFadeNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.DebugNode.html)." GskDebugNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.GLShader.html)." GskGLShader
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.GLShaderNode.html)." GskGLShaderNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.InsetShadowNode.html)." GskInsetShadowNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.LinearGradientNode.html)." GskLinearGradientNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.MaskNode.html)." GskMaskNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.OpacityNode.html)." GskOpacityNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.OutsetShadowNode.html)." GskOutsetShadowNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.RadialGradientNode.html)." GskRadialGradientNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.RenderNode.html)." GskRenderNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.Renderer.html)." GskRenderer
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.RepeatNode.html)." GskRepeatNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.RepeatingLinearGradientNode.html)." GskRepeatingLinearGradientNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.RepeatingRadialGradientNode.html)." GskRepeatingRadialGradientNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.RoundedClipNode.html)." GskRoundedClipNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.ShadowNode.html)." GskShadowNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.TextNode.html)." GskTextNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.TextureNode.html)." GskTextureNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.TextureScaleNode.html)." GskTextureScaleNode
    @doc "See the [GTK docs](https://docs.gtk.org/gsk4/class.TransformNode.html)." GskTransformNode
    export GskColorStop, _GskColorStop, GskParseLocation, _GskParseLocation, GskRoundedRect, _GskRoundedRect, GskShadow, _GskShadow, GskTransform, GskBlendNode, GskBlendNodeLeaf, GskBlurNode, GskBlurNodeLeaf, GskBorderNode, GskBorderNodeLeaf, GskBroadwayRenderer, GskBroadwayRendererLeaf, GskCairoNode, GskCairoNodeLeaf, GskCairoRenderer, GskCairoRendererLeaf, GskClipNode, GskClipNodeLeaf, GskColorMatrixNode, GskColorMatrixNodeLeaf, GskColorNode, GskColorNodeLeaf, GskConicGradientNode, GskConicGradientNodeLeaf, GskContainerNode, GskContainerNodeLeaf, GskCrossFadeNode, GskCrossFadeNodeLeaf, GskDebugNode, GskDebugNodeLeaf, GskGLRenderer, GskGLRendererLeaf, GskGLShader, GskGLShaderLeaf, GskGLShaderNode, GskGLShaderNodeLeaf, GskInsetShadowNode, GskInsetShadowNodeLeaf, GskLinearGradientNode, GskLinearGradientNodeLeaf, GskMaskNode, GskMaskNodeLeaf, GskNglRenderer, GskNglRendererLeaf, GskOpacityNode, GskOpacityNodeLeaf, GskOutsetShadowNode, GskOutsetShadowNodeLeaf, GskRadialGradientNode, GskRadialGradientNodeLeaf, GskRenderNode, GskRenderer, GskRepeatNode, GskRepeatNodeLeaf, GskRepeatingLinearGradientNode, GskRepeatingLinearGradientNodeLeaf, GskRepeatingRadialGradientNode, GskRepeatingRadialGradientNodeLeaf, GskRoundedClipNode, GskRoundedClipNodeLeaf, GskShadowNode, GskShadowNodeLeaf, GskTextNode, GskTextNodeLeaf, GskTextureNode, GskTextureNodeLeaf, GskTextureScaleNode, GskTextureScaleNodeLeaf, GskTransformNode, GskTransformNodeLeaf
end))
end
