// 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.System.h>
#include <winrt/Windows.UI.h>
#include <winrt/Windows.UI.Popups.h>

#include <winrt/Windows.ApplicationModel.Appointments.h>

namespace py::proj::Windows::ApplicationModel::Appointments
{
}

namespace py
{
    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentBusyStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppReadAccess> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppWriteAccess> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarSyncStatus> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentConflictType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentDaysOfWeek> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentDetailsKind> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentParticipantResponse> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentParticipantRole> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentRecurrenceUnit> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentSensitivity> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreAccessType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeType> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentSummaryCardView> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::AppointmentWeekOfMonth> = "i";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::FindAppointmentCalendarsOptions> = "I";

    template<>
    inline constexpr const char* buffer_format<winrt::Windows::ApplicationModel::Appointments::RecurrenceType> = "i";


    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentBusyStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentBusyStatus";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentBusyStatus";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppReadAccess>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentCalendarOtherAppReadAccess";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentCalendarOtherAppReadAccess";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarOtherAppWriteAccess>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentCalendarOtherAppWriteAccess";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentCalendarOtherAppWriteAccess";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarSyncStatus>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentCalendarSyncStatus";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentCalendarSyncStatus";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentConflictType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentConflictType";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentConflictType";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentDaysOfWeek>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentDaysOfWeek";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentDaysOfWeek";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentDetailsKind>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentDetailsKind";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentDetailsKind";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentParticipantResponse>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentParticipantResponse";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentParticipantResponse";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentParticipantRole>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentParticipantRole";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentParticipantRole";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentRecurrenceUnit>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentRecurrenceUnit";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentRecurrenceUnit";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentSensitivity>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentSensitivity";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentSensitivity";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreAccessType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreAccessType";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreAccessType";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreChangeType";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreChangeType";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentSummaryCardView>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentSummaryCardView";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentSummaryCardView";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentWeekOfMonth>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentWeekOfMonth";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentWeekOfMonth";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::FindAppointmentCalendarsOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.FindAppointmentCalendarsOptions";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "FindAppointmentCalendarsOptions";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::RecurrenceType>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.RecurrenceType";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "RecurrenceType";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::Appointment>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.Appointment";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "Appointment";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendar>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentCalendar";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentCalendar";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarSyncManager>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentCalendarSyncManager";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentCalendarSyncManager";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentConflictResult>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentConflictResult";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentConflictResult";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentException>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentException";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentException";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentInvitee>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentInvitee";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentInvitee";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentManager>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentManager";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentManager";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentManagerForUser>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentManagerForUser";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentManagerForUser";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentOrganizer>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentOrganizer";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentOrganizer";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentProperties>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentProperties";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentProperties";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentRecurrence>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentRecurrence";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentRecurrence";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStore>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStore";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStore";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChange>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreChange";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreChange";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeReader>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreChangeReader";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreChangeReader";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeTracker>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreChangeTracker";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreChangeTracker";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangedDeferral>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreChangedDeferral";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreChangedDeferral";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangedEventArgs>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreChangedEventArgs";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreChangedEventArgs";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreNotificationTriggerDetails>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.AppointmentStoreNotificationTriggerDetails";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "AppointmentStoreNotificationTriggerDetails";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::FindAppointmentsOptions>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments.FindAppointmentsOptions";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "FindAppointmentsOptions";
    };

    template<>
    struct py_type<winrt::Windows::ApplicationModel::Appointments::IAppointmentParticipant>
    {
        static constexpr std::string_view qualified_name = "winrt.windows.applicationmodel.appointments._IAppointmentParticipant";
        static constexpr const char* module_name = "winrt.windows.applicationmodel.appointments";
        static constexpr const char* type_name = "_IAppointmentParticipant";
    };
}

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

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

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

namespace py::impl::Windows::ApplicationModel::Appointments
{
}

namespace py::wrapper::Windows::ApplicationModel::Appointments
{
    using Appointment = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::Appointment>;
    using AppointmentCalendar = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendar>;
    using AppointmentCalendarSyncManager = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentCalendarSyncManager>;
    using AppointmentConflictResult = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentConflictResult>;
    using AppointmentException = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentException>;
    using AppointmentInvitee = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentInvitee>;
    using AppointmentManager = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentManager>;
    using AppointmentManagerForUser = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentManagerForUser>;
    using AppointmentOrganizer = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentOrganizer>;
    using AppointmentProperties = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentProperties>;
    using AppointmentRecurrence = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentRecurrence>;
    using AppointmentStore = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentStore>;
    using AppointmentStoreChange = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChange>;
    using AppointmentStoreChangeReader = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeReader>;
    using AppointmentStoreChangeTracker = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangeTracker>;
    using AppointmentStoreChangedDeferral = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangedDeferral>;
    using AppointmentStoreChangedEventArgs = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreChangedEventArgs>;
    using AppointmentStoreNotificationTriggerDetails = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::AppointmentStoreNotificationTriggerDetails>;
    using FindAppointmentsOptions = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::FindAppointmentsOptions>;
    using IAppointmentParticipant = py::winrt_wrapper<winrt::Windows::ApplicationModel::Appointments::IAppointmentParticipant>;
}

namespace py
{
}
