// WARNING: Please don't edit this file. It was generated by Python/WinRT v3.2.1

#pragma once

#include "pybase.h"
static_assert(winrt::check_version(PYWINRT_VERSION, "3.2.1"), "Mismatched Py/WinRT headers.");
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Storage.Streams.h>
#include <winrt/Windows.UI.h>

#include <winrt/Windows.UI.Text.h>

namespace py::proj::Windows::UI::Text
{
}

namespace py
{
    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::CaretType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::FindOptions> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::FontStretch> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::FontStyle> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::FormatEffect> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::HorizontalCharacterAlignment> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::LetterCase> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::LineSpacingRule> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::LinkType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::MarkerAlignment> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::MarkerStyle> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::MarkerType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::ParagraphAlignment> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::ParagraphStyle> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::PointOptions> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::RangeGravity> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::RichEditMathMode> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::SelectionOptions> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::SelectionType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::TabAlignment> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::TabLeader> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::TextDecorations> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::TextGetOptions> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::TextRangeUnit> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::TextScript> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::TextSetOptions> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::UnderlineType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::VerticalCharacterAlignment> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::UI::Text::FontWeight> = "T{H:weight:}";


    template<>
    struct py_type<winrt::Windows::UI::Text::CaretType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.CaretType";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "CaretType";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::FindOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.FindOptions";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "FindOptions";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::FontStretch>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.FontStretch";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "FontStretch";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::FontStyle>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.FontStyle";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "FontStyle";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::FormatEffect>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.FormatEffect";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "FormatEffect";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::HorizontalCharacterAlignment>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.HorizontalCharacterAlignment";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "HorizontalCharacterAlignment";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::LetterCase>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.LetterCase";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "LetterCase";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::LineSpacingRule>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.LineSpacingRule";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "LineSpacingRule";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::LinkType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.LinkType";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "LinkType";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::MarkerAlignment>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.MarkerAlignment";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "MarkerAlignment";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::MarkerStyle>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.MarkerStyle";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "MarkerStyle";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::MarkerType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.MarkerType";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "MarkerType";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ParagraphAlignment>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.ParagraphAlignment";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "ParagraphAlignment";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ParagraphStyle>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.ParagraphStyle";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "ParagraphStyle";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::PointOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.PointOptions";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "PointOptions";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::RangeGravity>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.RangeGravity";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "RangeGravity";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::RichEditMathMode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.RichEditMathMode";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "RichEditMathMode";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::SelectionOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.SelectionOptions";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "SelectionOptions";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::SelectionType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.SelectionType";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "SelectionType";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TabAlignment>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TabAlignment";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TabAlignment";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TabLeader>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TabLeader";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TabLeader";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TextDecorations>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TextDecorations";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TextDecorations";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TextGetOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TextGetOptions";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TextGetOptions";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TextRangeUnit>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TextRangeUnit";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TextRangeUnit";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TextScript>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TextScript";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TextScript";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TextSetOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TextSetOptions";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TextSetOptions";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::UnderlineType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.UnderlineType";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "UnderlineType";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::VerticalCharacterAlignment>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.VerticalCharacterAlignment";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "VerticalCharacterAlignment";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ContentLinkInfo>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.ContentLinkInfo";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "ContentLinkInfo";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::FontWeights>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.FontWeights";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "FontWeights";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::RichEditTextDocument>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.RichEditTextDocument";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "RichEditTextDocument";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::RichEditTextRange>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.RichEditTextRange";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "RichEditTextRange";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::TextConstants>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.TextConstants";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "TextConstants";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ITextCharacterFormat>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text._ITextCharacterFormat";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "_ITextCharacterFormat";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ITextDocument>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text._ITextDocument";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "_ITextDocument";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ITextParagraphFormat>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text._ITextParagraphFormat";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "_ITextParagraphFormat";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ITextRange>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text._ITextRange";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "_ITextRange";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::ITextSelection>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text._ITextSelection";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "_ITextSelection";
    };

    template<>
    struct py_type<winrt::Windows::UI::Text::FontWeight>
    {
        static constexpr std::string_view from_tuple = "winrt._winrt_windows_ui_text.FontWeight_from_tuple";
        static constexpr std::string_view qualified_name = "winrt.windows.ui.text.FontWeight";
        static constexpr const char* module_name = "winrt.windows.ui.text";
        static constexpr const char* type_name = "FontWeight";
    };
}

#if __has_include("py.Windows.Foundation.h")
#include "py.Windows.Foundation.h"
#endif

#if __has_include("py.Windows.Storage.Streams.h")
#include "py.Windows.Storage.Streams.h"
#endif

#if __has_include("py.Windows.UI.h")
#include "py.Windows.UI.h"
#endif

namespace py::impl::Windows::UI::Text
{
}

namespace py::wrapper::Windows::UI::Text
{
    using ContentLinkInfo = py::winrt_wrapper<winrt::Windows::UI::Text::ContentLinkInfo>;
    using FontWeights = py::winrt_wrapper<winrt::Windows::UI::Text::FontWeights>;
    using RichEditTextDocument = py::winrt_wrapper<winrt::Windows::UI::Text::RichEditTextDocument>;
    using RichEditTextRange = py::winrt_wrapper<winrt::Windows::UI::Text::RichEditTextRange>;
    using TextConstants = py::winrt_wrapper<winrt::Windows::UI::Text::TextConstants>;
    using ITextCharacterFormat = py::winrt_wrapper<winrt::Windows::UI::Text::ITextCharacterFormat>;
    using ITextDocument = py::winrt_wrapper<winrt::Windows::UI::Text::ITextDocument>;
    using ITextParagraphFormat = py::winrt_wrapper<winrt::Windows::UI::Text::ITextParagraphFormat>;
    using ITextRange = py::winrt_wrapper<winrt::Windows::UI::Text::ITextRange>;
    using ITextSelection = py::winrt_wrapper<winrt::Windows::UI::Text::ITextSelection>;
    using FontWeight = py::winrt_struct_wrapper<winrt::Windows::UI::Text::FontWeight>;
}

namespace py
{
}
