namespace EE::UI::Tools

namespace Tools {

// typedefs

typedef std::variant<BoolPointerSetting, BoolSetting, ChoiceSetting, EditableChoiceSetting, IntegerSetting, TextSetting, FloatSetting, ActionSetting, CustomWidgetSetting> SettingValue;

// structs

struct ActionSetting;
struct BoolPointerSetting;
struct BoolSetting;
struct ChoiceSetting;
struct CustomWidgetSetting;
struct EditableChoiceSetting;
struct FloatSetting;
struct IntegerSetting;
struct MergeInput;
struct MergeVersion;
struct SettingDefinition;
struct SettingDescriptor;
struct SettingsCategory;
struct SettingsGroup;
struct TextSetting;
struct UIFontSelection;
struct WidgetLoadResult;
struct WidgetTypeCallback;

// classes

class HTMLFormatter;
class SettingsModel;
class TextureAtlasEditor;
class UIAudioPlayer;
class UICodeEditorSplitter;
class UIColorPicker;
class UIDiffView;
class UIDocFindReplace;
class UIFindBarStyle;
class UIFontPickerDialog;
class UIImageViewer;
class UIMergeView;
class UIMultiDiffView;
class UISettingsPanel;
class UITabWidgetSplitter;
class UIWidgetInspector;

} // namespace Tools