// 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.Devices.Geolocation.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/Windows.UI.Popups.h>

#include <winrt/Windows.Services.Maps.h>

namespace py::proj::Windows::Services::Maps
{
}

namespace py
{
    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::ManeuverWarningKind> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::ManeuverWarningSeverity> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapLocationDesiredAccuracy> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapLocationFinderStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapManeuverNotices> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapRouteFinderStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapRouteManeuverKind> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapRouteOptimization> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapRouteRestrictions> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::MapServiceDataUsagePreference> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::TrafficCongestion> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::Services::Maps::WaypointKind> = "i";


    template<>
    struct py_type<winrt::Windows::Services::Maps::ManeuverWarningKind>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.ManeuverWarningKind";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "ManeuverWarningKind";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::ManeuverWarningSeverity>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.ManeuverWarningSeverity";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "ManeuverWarningSeverity";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapLocationDesiredAccuracy>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapLocationDesiredAccuracy";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapLocationDesiredAccuracy";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapLocationFinderStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapLocationFinderStatus";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapLocationFinderStatus";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapManeuverNotices>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapManeuverNotices";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapManeuverNotices";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteFinderStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteFinderStatus";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteFinderStatus";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteManeuverKind>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteManeuverKind";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteManeuverKind";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteOptimization>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteOptimization";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteOptimization";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteRestrictions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteRestrictions";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteRestrictions";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapServiceDataUsagePreference>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapServiceDataUsagePreference";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapServiceDataUsagePreference";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::TrafficCongestion>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.TrafficCongestion";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "TrafficCongestion";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::WaypointKind>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.WaypointKind";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "WaypointKind";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::EnhancedWaypoint>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.EnhancedWaypoint";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "EnhancedWaypoint";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::ManeuverWarning>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.ManeuverWarning";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "ManeuverWarning";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapAddress>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapAddress";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapAddress";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapLocation>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapLocation";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapLocation";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapLocationFinder>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapLocationFinder";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapLocationFinder";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapLocationFinderResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapLocationFinderResult";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapLocationFinderResult";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapManager>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapManager";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapManager";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRoute>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRoute";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRoute";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteDrivingOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteDrivingOptions";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteDrivingOptions";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteFinder>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteFinder";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteFinder";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteFinderResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteFinderResult";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteFinderResult";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteLeg>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteLeg";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteLeg";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapRouteManeuver>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapRouteManeuver";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapRouteManeuver";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::MapService>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.MapService";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "MapService";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::PlaceInfo>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.PlaceInfo";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "PlaceInfo";
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::PlaceInfoCreateOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.services.maps.PlaceInfoCreateOptions";
        static constexpr const char* module_name = "winrt.windows.services.maps";
        static constexpr const char* type_name = "PlaceInfoCreateOptions";
    };
}

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

#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.UI.Popups.h")
#include "py.Windows.UI.Popups.h"
#endif

namespace py::impl::Windows::Services::Maps
{
}

namespace py::wrapper::Windows::Services::Maps
{
    using EnhancedWaypoint = py::winrt_wrapper<winrt::Windows::Services::Maps::EnhancedWaypoint>;
    using ManeuverWarning = py::winrt_wrapper<winrt::Windows::Services::Maps::ManeuverWarning>;
    using MapAddress = py::winrt_wrapper<winrt::Windows::Services::Maps::MapAddress>;
    using MapLocation = py::winrt_wrapper<winrt::Windows::Services::Maps::MapLocation>;
    using MapLocationFinder = py::winrt_wrapper<winrt::Windows::Services::Maps::MapLocationFinder>;
    using MapLocationFinderResult = py::winrt_wrapper<winrt::Windows::Services::Maps::MapLocationFinderResult>;
    using MapManager = py::winrt_wrapper<winrt::Windows::Services::Maps::MapManager>;
    using MapRoute = py::winrt_wrapper<winrt::Windows::Services::Maps::MapRoute>;
    using MapRouteDrivingOptions = py::winrt_wrapper<winrt::Windows::Services::Maps::MapRouteDrivingOptions>;
    using MapRouteFinder = py::winrt_wrapper<winrt::Windows::Services::Maps::MapRouteFinder>;
    using MapRouteFinderResult = py::winrt_wrapper<winrt::Windows::Services::Maps::MapRouteFinderResult>;
    using MapRouteLeg = py::winrt_wrapper<winrt::Windows::Services::Maps::MapRouteLeg>;
    using MapRouteManeuver = py::winrt_wrapper<winrt::Windows::Services::Maps::MapRouteManeuver>;
    using MapService = py::winrt_wrapper<winrt::Windows::Services::Maps::MapService>;
    using PlaceInfo = py::winrt_wrapper<winrt::Windows::Services::Maps::PlaceInfo>;
    using PlaceInfoCreateOptions = py::winrt_wrapper<winrt::Windows::Services::Maps::PlaceInfoCreateOptions>;
}

namespace py
{
}
