// 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.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.Foundation.Numerics.h")
#include "py.Windows.Foundation.Numerics.h"
#endif

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

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

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

#include <winrt/Windows.Foundation.h>
#include <winrt/Windows.Foundation.Collections.h>
#include <winrt/Windows.Foundation.Numerics.h>
#include <winrt/Windows.Graphics.DirectX.h>
#include <winrt/Windows.Perception.Spatial.h>
#include <winrt/Windows.Storage.Streams.h>

#include <winrt/Windows.Perception.Spatial.Surfaces.h>

namespace py::proj::Windows::Perception::Spatial::Surfaces
{}

namespace py::impl::Windows::Perception::Spatial::Surfaces
{}

namespace py::wrapper::Windows::Perception::Spatial::Surfaces
{
    using SpatialSurfaceInfo = py::winrt_wrapper<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceInfo>;
    using SpatialSurfaceMesh = py::winrt_wrapper<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMesh>;
    using SpatialSurfaceMeshBuffer = py::winrt_wrapper<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer>;
    using SpatialSurfaceMeshOptions = py::winrt_wrapper<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshOptions>;
    using SpatialSurfaceObserver = py::winrt_wrapper<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceObserver>;
}

namespace py
{

    template<>
    struct winrt_type<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceInfo>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMesh>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshBuffer>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceMeshOptions>
    {
        static PyTypeObject* get_python_type() noexcept;
    };

    template<>
    struct winrt_type<winrt::Windows::Perception::Spatial::Surfaces::SpatialSurfaceObserver>
    {
        static PyTypeObject* get_python_type() noexcept;
    };
}
