// This code is auto-generated by Qul's qmltocpp tool from the file 'RadioButton.qml'
// WARNING! All changes made in this file will be lost!
// NOTE: This generated API is to be considered implementation detail for Qul.
//       It may change from version to version and should not be relied upon.
#pragma once
#include "DefaultStyle.h"
#include <cstdlib>
#include <platforminterface/log.h>
#include <qul/image.h>
#include <qul/private/array.h>
#include <qul/private/builtins.h>
#include <qul/private/compilerdetection.h>
#include <qul/private/controls/radiobuttontemplate.h>
#include <qul/private/file.h>
#include <qul/private/items.h>
#include <qul/private/items/item.h>
#include <qul/private/items/text.h>
#include <qul/private/qmltocpp_util.h>
#include <qul/private/qulrcc_lookup.h>
#include <qul/private/unicodestring.h>
#include <qul/signal.h>


namespace QtQuick {
namespace Controls {
namespace StyleDefault {

struct RadioButton : Qul::Private::Controls::Templates::RadioButton  {
    RadioButton();


    Qul::Property<Qul::Private::String> state;
    typedef Qul::Private::Items::Item  item__2_Item;
    typedef Qul::Private::Items::TextLight  text__Text;
    typedef Qul::Private::Items::Row  row_Row;
    typedef Qul::Private::Items::Item  item__Item;
    typedef Qul::Private::Items::Image  image_Image;
    struct RadioButton_3118561595_bindingFunctor {

        int operator()(RadioButton *self) const;

    };
    struct anchor_functor {
        int operator()(RadioButton *self, int _switch_index) const;
    };
    struct RadioButton_3085104519_bindingFunctor {

        Qul::PlatformInterface::Rgba32 operator()(RadioButton *self) const;

    };
    struct RadioButton_350459312_bindingFunctor {

        Qul::Private::FontPointer operator()(RadioButton *self) const;

    };
    struct RadioButton_4011053975_bindingFunctor {

        Qul::Private::String operator()(RadioButton *self) const;

    };
    struct RadioButton_1274248586_bindingFunctor {

        Qul::SharedImage operator()(RadioButton *self) const;

    };
    struct RadioButton_3637927520_bindingFunctor {

        int operator()(RadioButton *self) const;

    };
    struct RadioButton_4001282052_bindingFunctor {

        int operator()(RadioButton *self) const;

    };
    struct RadioButton_471296976_bindingFunctor {

        int operator()(RadioButton *self) const;

    };
    struct RadioButton_3988550022_bindingFunctor {

        int operator()(RadioButton *self) const;

    };
    Qul::Private::Binding<anchor_functor, 2> text__y_anchor_binding;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Controls::Templates::RadioButton  > ExtraStorage_itemExtraProperties_this_instance;
    item__2_Item item__2;
    text__Text text_;
    row_Row row;
    item__Item item_;
    image_Image image;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::Item  > ExtraStorage_itemExtraProperties_item__2_instance;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::Row  > ExtraStorage_itemExtraProperties_row_instance;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::Item  > ExtraStorage_itemExtraProperties_item__instance;
    Qul::Private::Items::ItemBase ::ExtraStorage_itemExtraProperties<Qul::Private::Items::Image  > ExtraStorage_itemExtraProperties_image_instance;
    Qul::Private::Binding<RadioButton_3118561595_bindingFunctor, 0> item__2_implicitWidth_binding;
    Qul::Private::Binding<RadioButton_3085104519_bindingFunctor, 0> text__color_binding;
    Qul::Private::Binding<RadioButton_350459312_bindingFunctor, 0> font_font_binding;
    Qul::Private::Binding<RadioButton_4011053975_bindingFunctor, 0> text__text_binding;
    Qul::Private::Binding<RadioButton_1274248586_bindingFunctor, 0> image_source_binding;
    Qul::Private::Binding<RadioButton_3637927520_bindingFunctor, 0> image_y_binding;
    Qul::Private::Binding<RadioButton_4001282052_bindingFunctor, 0> image_x_binding;
    Qul::Private::Binding<RadioButton_471296976_bindingFunctor, 0> _implicitHeight_binding;
    Qul::Private::Binding<RadioButton_3988550022_bindingFunctor, 0> _implicitWidth_binding;
};

} // namespace QtQuick
} // namespace Controls
} // namespace StyleDefault
