// 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.Foundation.Collections.h>
#include <winrt/Windows.Storage.h>
#include <winrt/Windows.Storage.Streams.h>

#include <winrt/Windows.Media.Import.h>

namespace py::proj::Windows::Media::Import
{
}

namespace py
{
    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportAccessMode> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportConnectionTransport> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportContentType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportContentTypeFilter> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportImportMode> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportItemSelectionMode> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportPowerSource> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportSourceType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportStage> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportStorageMediumType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportSubfolderCreationMode> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportSubfolderDateFormat> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Media::Import::PhotoImportProgress> = "T{I:items_imported:I:total_items_to_import:Q:bytes_imported:Q:total_bytes_to_import:d:import_progress:}";


    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportAccessMode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportAccessMode";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportAccessMode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportConnectionTransport>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportConnectionTransport";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportConnectionTransport";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportContentType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportContentType";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportContentType";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportContentTypeFilter>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportContentTypeFilter";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportContentTypeFilter";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportImportMode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportImportMode";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportImportMode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportItemSelectionMode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportItemSelectionMode";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportItemSelectionMode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportPowerSource>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportPowerSource";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportPowerSource";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportSourceType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportSourceType";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportSourceType";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportStage>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportStage";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportStage";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportStorageMediumType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportStorageMediumType";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportStorageMediumType";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportSubfolderCreationMode>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportSubfolderCreationMode";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportSubfolderCreationMode";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportSubfolderDateFormat>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportSubfolderDateFormat";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportSubfolderDateFormat";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportDeleteImportedItemsFromSourceResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportDeleteImportedItemsFromSourceResult";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportDeleteImportedItemsFromSourceResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportFindItemsResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportFindItemsResult";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportFindItemsResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportImportItemsResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportImportItemsResult";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportImportItemsResult";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportItem>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportItem";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportItem";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportItemImportedEventArgs>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportItemImportedEventArgs";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportItemImportedEventArgs";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportManager>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportManager";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportManager";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportOperation>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportOperation";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportOperation";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportSelectionChangedEventArgs>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportSelectionChangedEventArgs";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportSelectionChangedEventArgs";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportSession>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportSession";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportSession";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportSidecar>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportSidecar";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportSidecar";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportSource>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportSource";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportSource";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportStorageMedium>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportStorageMedium";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportStorageMedium";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportVideoSegment>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportVideoSegment";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportVideoSegment";
    };

    template<>
    struct py_type<winrt::Windows::Media::Import::PhotoImportProgress>
    {
        static constexpr std::string_view from_tuple = "winrt._winrt_windows_media_import_.PhotoImportProgress_from_tuple";
        static constexpr std::string_view qualified_name = "winrt.windows.media.import_.PhotoImportProgress";
        static constexpr const char* module_name = "winrt.windows.media.import_";
        static constexpr const char* type_name = "PhotoImportProgress";
    };
}

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

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

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

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

namespace py::impl::Windows::Media::Import
{
}

namespace py::wrapper::Windows::Media::Import
{
    using PhotoImportDeleteImportedItemsFromSourceResult = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportDeleteImportedItemsFromSourceResult>;
    using PhotoImportFindItemsResult = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportFindItemsResult>;
    using PhotoImportImportItemsResult = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportImportItemsResult>;
    using PhotoImportItem = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportItem>;
    using PhotoImportItemImportedEventArgs = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportItemImportedEventArgs>;
    using PhotoImportManager = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportManager>;
    using PhotoImportOperation = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportOperation>;
    using PhotoImportSelectionChangedEventArgs = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportSelectionChangedEventArgs>;
    using PhotoImportSession = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportSession>;
    using PhotoImportSidecar = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportSidecar>;
    using PhotoImportSource = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportSource>;
    using PhotoImportStorageMedium = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportStorageMedium>;
    using PhotoImportVideoSegment = py::winrt_wrapper<winrt::Windows::Media::Import::PhotoImportVideoSegment>;
    using PhotoImportProgress = py::winrt_struct_wrapper<winrt::Windows::Media::Import::PhotoImportProgress>;
}

namespace py
{
}
