// WARNING: Please don't edit this file. It was generated by Python/WinRT v1.0.0-beta.9

#pragma once

#include "pybase.h"

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

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

#include <winrt/Windows.Devices.Geolocation.h>
#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/Windows.Services.Maps.h>
#include <winrt/Windows.UI.h>

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

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

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

namespace py::wrapper::Windows::Services::Maps::Guidance
{
    using GuidanceAudioNotificationRequestedEventArgs = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotificationRequestedEventArgs>;
    using GuidanceLaneInfo = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceLaneInfo>;
    using GuidanceManeuver = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceManeuver>;
    using GuidanceMapMatchedCoordinate = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceMapMatchedCoordinate>;
    using GuidanceNavigator = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceNavigator>;
    using GuidanceReroutedEventArgs = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceReroutedEventArgs>;
    using GuidanceRoadSegment = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceRoadSegment>;
    using GuidanceRoadSignpost = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceRoadSignpost>;
    using GuidanceRoute = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceRoute>;
    using GuidanceTelemetryCollector = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceTelemetryCollector>;
    using GuidanceUpdatedEventArgs = py::winrt_wrapper<winrt::Windows::Services::Maps::Guidance::GuidanceUpdatedEventArgs>;
}

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

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

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

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

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

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


    template<>
    struct py_type<winrt::Windows::Services::Maps::Guidance::GuidanceAudioMeasurementSystem>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotificationKind>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotifications>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::Guidance::GuidanceLaneMarkers>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::Guidance::GuidanceManeuverKind>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct py_type<winrt::Windows::Services::Maps::Guidance::GuidanceMode>
    {
        static PyObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceAudioNotificationRequestedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceLaneInfo>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceManeuver>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceMapMatchedCoordinate>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceNavigator>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceReroutedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceRoadSegment>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceRoadSignpost>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceRoute>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceTelemetryCollector>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Services::Maps::Guidance::GuidanceUpdatedEventArgs>
    {
        static PyTypeObject* get_python_type() noexcept;
    };
}
