# This file was auto-generated by Fern from our API Definition.

import datetime as dt
import typing

from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
from ..core.request_options import RequestOptions
from ..types.calendar_connection_list_response import CalendarConnectionListResponse
from ..types.calendar_event_list_response import CalendarEventListResponse
from ..types.calendar_event_response import CalendarEventResponse
from ..types.calendar_sync_response import CalendarSyncResponse
from ..types.org_calendar_connection_list_response import OrgCalendarConnectionListResponse
from ..types.org_calendar_connection_response import OrgCalendarConnectionResponse
from .raw_client import AsyncRawMeetingBuddyCalendarClient, RawMeetingBuddyCalendarClient
from .types.connect_calendar_response import ConnectCalendarResponse

# this is used as the default value for optional parameters
OMIT = typing.cast(typing.Any, ...)


class MeetingBuddyCalendarClient:
    def __init__(self, *, client_wrapper: SyncClientWrapper):
        self._raw_client = RawMeetingBuddyCalendarClient(client_wrapper=client_wrapper)

    @property
    def with_raw_response(self) -> RawMeetingBuddyCalendarClient:
        """
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        RawMeetingBuddyCalendarClient
        """
        return self._raw_client

    def list_calendar_events(
        self,
        *,
        skip: typing.Optional[int] = None,
        limit: typing.Optional[int] = None,
        start_after: typing.Optional[dt.datetime] = None,
        start_before: typing.Optional[dt.datetime] = None,
        start_date: typing.Optional[dt.datetime] = None,
        end_date: typing.Optional[dt.datetime] = None,
        provider: typing.Optional[str] = None,
        auto_join_status: typing.Optional[str] = None,
        request_options: typing.Optional[RequestOptions] = None,
    ) -> CalendarEventListResponse:
        """
        List calendar events for the authenticated user.

        Parameters
        ----------
        skip : typing.Optional[int]
            Number of items to skip

        limit : typing.Optional[int]
            Max items to return

        start_after : typing.Optional[dt.datetime]
            Filter: events starting after

        start_before : typing.Optional[dt.datetime]
            Filter: events starting before

        start_date : typing.Optional[dt.datetime]
            Alias for start_after (UI compat)

        end_date : typing.Optional[dt.datetime]
            Alias for start_before (UI compat)

        provider : typing.Optional[str]
            Filter by calendar provider

        auto_join_status : typing.Optional[str]
            Filter by auto-join status

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarEventListResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.list_calendar_events()
        """
        _response = self._raw_client.list_calendar_events(
            skip=skip,
            limit=limit,
            start_after=start_after,
            start_before=start_before,
            start_date=start_date,
            end_date=end_date,
            provider=provider,
            auto_join_status=auto_join_status,
            request_options=request_options,
        )
        return _response.data

    def get_calendar_event(
        self, event_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarEventResponse:
        """
        Get details for a specific calendar event.

        Parameters
        ----------
        event_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarEventResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.get_calendar_event(
            event_id="event_id",
        )
        """
        _response = self._raw_client.get_calendar_event(event_id, request_options=request_options)
        return _response.data

    def update_calendar_event(
        self, event_id: str, *, auto_join_status: str, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarEventResponse:
        """
        Override auto-join status for a specific event.

        Parameters
        ----------
        event_id : str

        auto_join_status : str
            Set to 'disabled' to prevent auto-join, or 'pending' to re-enable evaluation.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarEventResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.update_calendar_event(
            event_id="event_id",
            auto_join_status="auto_join_status",
        )
        """
        _response = self._raw_client.update_calendar_event(
            event_id, auto_join_status=auto_join_status, request_options=request_options
        )
        return _response.data

    def trigger_calendar_sync(self, *, request_options: typing.Optional[RequestOptions] = None) -> CalendarSyncResponse:
        """
        Trigger a manual sync of all connected calendars.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarSyncResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.trigger_calendar_sync()
        """
        _response = self._raw_client.trigger_calendar_sync(request_options=request_options)
        return _response.data

    def list_calendar_connections(
        self, *, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarConnectionListResponse:
        """
        List all connected calendar providers for the authenticated user.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarConnectionListResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.list_calendar_connections()
        """
        _response = self._raw_client.list_calendar_connections(request_options=request_options)
        return _response.data

    def connect_calendar(
        self,
        *,
        provider: str,
        credentials: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
        request_options: typing.Optional[RequestOptions] = None,
    ) -> ConnectCalendarResponse:
        """
        Connect a calendar provider via OAuth or credentials.

        Parameters
        ----------
        provider : str
            Calendar provider: google_calendar, outlook_calendar, zoom, apple_calendar

        credentials : typing.Optional[typing.Dict[str, typing.Any]]
            Credentials for Apple Calendar (required when provider=apple_calendar). Two connection methods are supported: 1) App-specific password — provide {"apple_id": "user@icloud.com", "app_specific_password": "xxxx-xxxx-xxxx-xxxx"}. Requires an app-specific password generated at appleid.apple.com. 2) iCal URL — provide {"ical_url": "webcal://p123-calendars.icloud.com/..."}. Read-only; fetches events via public/private calendar feed URL. Not required for OAuth providers (google_calendar, outlook_calendar, zoom).

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ConnectCalendarResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.connect_calendar(
            provider="provider",
        )
        """
        _response = self._raw_client.connect_calendar(
            provider=provider, credentials=credentials, request_options=request_options
        )
        return _response.data

    def disconnect_calendar(
        self, credential_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> None:
        """
        Disconnect a calendar and remove associated events.

        Parameters
        ----------
        credential_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.disconnect_calendar(
            credential_id="credential_id",
        )
        """
        _response = self._raw_client.disconnect_calendar(credential_id, request_options=request_options)
        return _response.data

    def list_org_calendar_connections(
        self, *, request_options: typing.Optional[RequestOptions] = None
    ) -> OrgCalendarConnectionListResponse:
        """
        List organization-level calendar connections (admin-only).

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        OrgCalendarConnectionListResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.list_org_calendar_connections()
        """
        _response = self._raw_client.list_org_calendar_connections(request_options=request_options)
        return _response.data

    def connect_org_calendar(
        self,
        *,
        provider: str,
        credential_id: str,
        calendar_name: str,
        account_email: str,
        request_options: typing.Optional[RequestOptions] = None,
    ) -> OrgCalendarConnectionResponse:
        """
        Connect an organization-level shared calendar (admin-only).

        Parameters
        ----------
        provider : str
            Calendar provider: google_calendar, outlook_calendar, zoom

        credential_id : str
            ID of the admin's OAuth credential to use for syncing

        calendar_name : str
            Display name for this shared calendar

        account_email : str
            Service account or admin email

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        OrgCalendarConnectionResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.connect_org_calendar(
            provider="provider",
            credential_id="credential_id",
            calendar_name="calendar_name",
            account_email="account_email",
        )
        """
        _response = self._raw_client.connect_org_calendar(
            provider=provider,
            credential_id=credential_id,
            calendar_name=calendar_name,
            account_email=account_email,
            request_options=request_options,
        )
        return _response.data

    def disconnect_org_calendar(
        self, connection_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> None:
        """
        Disconnect an organization-level calendar (admin-only).

        Parameters
        ----------
        connection_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.disconnect_org_calendar(
            connection_id="connection_id",
        )
        """
        _response = self._raw_client.disconnect_org_calendar(connection_id, request_options=request_options)
        return _response.data

    def sync_org_calendar(
        self, connection_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarSyncResponse:
        """
        Trigger manual sync for an org-level calendar (admin-only).

        Parameters
        ----------
        connection_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarSyncResponse
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.sync_org_calendar(
            connection_id="connection_id",
        )
        """
        _response = self._raw_client.sync_org_calendar(connection_id, request_options=request_options)
        return _response.data

    def receive_calendar_webhook(
        self, *, request_options: typing.Optional[RequestOptions] = None
    ) -> typing.Dict[str, typing.Any]:
        """
        Receive push notifications from calendar providers.

        This is a system endpoint with no authentication — providers call this
        directly. Signature validation is done inside the handler.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        typing.Dict[str, typing.Any]
            Successful Response

        Examples
        --------
        from aitronos import Aitronos

        client = Aitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )
        client.meeting_buddy_calendar.receive_calendar_webhook()
        """
        _response = self._raw_client.receive_calendar_webhook(request_options=request_options)
        return _response.data


class AsyncMeetingBuddyCalendarClient:
    def __init__(self, *, client_wrapper: AsyncClientWrapper):
        self._raw_client = AsyncRawMeetingBuddyCalendarClient(client_wrapper=client_wrapper)

    @property
    def with_raw_response(self) -> AsyncRawMeetingBuddyCalendarClient:
        """
        Retrieves a raw implementation of this client that returns raw responses.

        Returns
        -------
        AsyncRawMeetingBuddyCalendarClient
        """
        return self._raw_client

    async def list_calendar_events(
        self,
        *,
        skip: typing.Optional[int] = None,
        limit: typing.Optional[int] = None,
        start_after: typing.Optional[dt.datetime] = None,
        start_before: typing.Optional[dt.datetime] = None,
        start_date: typing.Optional[dt.datetime] = None,
        end_date: typing.Optional[dt.datetime] = None,
        provider: typing.Optional[str] = None,
        auto_join_status: typing.Optional[str] = None,
        request_options: typing.Optional[RequestOptions] = None,
    ) -> CalendarEventListResponse:
        """
        List calendar events for the authenticated user.

        Parameters
        ----------
        skip : typing.Optional[int]
            Number of items to skip

        limit : typing.Optional[int]
            Max items to return

        start_after : typing.Optional[dt.datetime]
            Filter: events starting after

        start_before : typing.Optional[dt.datetime]
            Filter: events starting before

        start_date : typing.Optional[dt.datetime]
            Alias for start_after (UI compat)

        end_date : typing.Optional[dt.datetime]
            Alias for start_before (UI compat)

        provider : typing.Optional[str]
            Filter by calendar provider

        auto_join_status : typing.Optional[str]
            Filter by auto-join status

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarEventListResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.list_calendar_events()


        asyncio.run(main())
        """
        _response = await self._raw_client.list_calendar_events(
            skip=skip,
            limit=limit,
            start_after=start_after,
            start_before=start_before,
            start_date=start_date,
            end_date=end_date,
            provider=provider,
            auto_join_status=auto_join_status,
            request_options=request_options,
        )
        return _response.data

    async def get_calendar_event(
        self, event_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarEventResponse:
        """
        Get details for a specific calendar event.

        Parameters
        ----------
        event_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarEventResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.get_calendar_event(
                event_id="event_id",
            )


        asyncio.run(main())
        """
        _response = await self._raw_client.get_calendar_event(event_id, request_options=request_options)
        return _response.data

    async def update_calendar_event(
        self, event_id: str, *, auto_join_status: str, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarEventResponse:
        """
        Override auto-join status for a specific event.

        Parameters
        ----------
        event_id : str

        auto_join_status : str
            Set to 'disabled' to prevent auto-join, or 'pending' to re-enable evaluation.

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarEventResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.update_calendar_event(
                event_id="event_id",
                auto_join_status="auto_join_status",
            )


        asyncio.run(main())
        """
        _response = await self._raw_client.update_calendar_event(
            event_id, auto_join_status=auto_join_status, request_options=request_options
        )
        return _response.data

    async def trigger_calendar_sync(
        self, *, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarSyncResponse:
        """
        Trigger a manual sync of all connected calendars.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarSyncResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.trigger_calendar_sync()


        asyncio.run(main())
        """
        _response = await self._raw_client.trigger_calendar_sync(request_options=request_options)
        return _response.data

    async def list_calendar_connections(
        self, *, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarConnectionListResponse:
        """
        List all connected calendar providers for the authenticated user.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarConnectionListResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.list_calendar_connections()


        asyncio.run(main())
        """
        _response = await self._raw_client.list_calendar_connections(request_options=request_options)
        return _response.data

    async def connect_calendar(
        self,
        *,
        provider: str,
        credentials: typing.Optional[typing.Dict[str, typing.Any]] = OMIT,
        request_options: typing.Optional[RequestOptions] = None,
    ) -> ConnectCalendarResponse:
        """
        Connect a calendar provider via OAuth or credentials.

        Parameters
        ----------
        provider : str
            Calendar provider: google_calendar, outlook_calendar, zoom, apple_calendar

        credentials : typing.Optional[typing.Dict[str, typing.Any]]
            Credentials for Apple Calendar (required when provider=apple_calendar). Two connection methods are supported: 1) App-specific password — provide {"apple_id": "user@icloud.com", "app_specific_password": "xxxx-xxxx-xxxx-xxxx"}. Requires an app-specific password generated at appleid.apple.com. 2) iCal URL — provide {"ical_url": "webcal://p123-calendars.icloud.com/..."}. Read-only; fetches events via public/private calendar feed URL. Not required for OAuth providers (google_calendar, outlook_calendar, zoom).

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        ConnectCalendarResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.connect_calendar(
                provider="provider",
            )


        asyncio.run(main())
        """
        _response = await self._raw_client.connect_calendar(
            provider=provider, credentials=credentials, request_options=request_options
        )
        return _response.data

    async def disconnect_calendar(
        self, credential_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> None:
        """
        Disconnect a calendar and remove associated events.

        Parameters
        ----------
        credential_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.disconnect_calendar(
                credential_id="credential_id",
            )


        asyncio.run(main())
        """
        _response = await self._raw_client.disconnect_calendar(credential_id, request_options=request_options)
        return _response.data

    async def list_org_calendar_connections(
        self, *, request_options: typing.Optional[RequestOptions] = None
    ) -> OrgCalendarConnectionListResponse:
        """
        List organization-level calendar connections (admin-only).

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        OrgCalendarConnectionListResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.list_org_calendar_connections()


        asyncio.run(main())
        """
        _response = await self._raw_client.list_org_calendar_connections(request_options=request_options)
        return _response.data

    async def connect_org_calendar(
        self,
        *,
        provider: str,
        credential_id: str,
        calendar_name: str,
        account_email: str,
        request_options: typing.Optional[RequestOptions] = None,
    ) -> OrgCalendarConnectionResponse:
        """
        Connect an organization-level shared calendar (admin-only).

        Parameters
        ----------
        provider : str
            Calendar provider: google_calendar, outlook_calendar, zoom

        credential_id : str
            ID of the admin's OAuth credential to use for syncing

        calendar_name : str
            Display name for this shared calendar

        account_email : str
            Service account or admin email

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        OrgCalendarConnectionResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.connect_org_calendar(
                provider="provider",
                credential_id="credential_id",
                calendar_name="calendar_name",
                account_email="account_email",
            )


        asyncio.run(main())
        """
        _response = await self._raw_client.connect_org_calendar(
            provider=provider,
            credential_id=credential_id,
            calendar_name=calendar_name,
            account_email=account_email,
            request_options=request_options,
        )
        return _response.data

    async def disconnect_org_calendar(
        self, connection_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> None:
        """
        Disconnect an organization-level calendar (admin-only).

        Parameters
        ----------
        connection_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        None

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.disconnect_org_calendar(
                connection_id="connection_id",
            )


        asyncio.run(main())
        """
        _response = await self._raw_client.disconnect_org_calendar(connection_id, request_options=request_options)
        return _response.data

    async def sync_org_calendar(
        self, connection_id: str, *, request_options: typing.Optional[RequestOptions] = None
    ) -> CalendarSyncResponse:
        """
        Trigger manual sync for an org-level calendar (admin-only).

        Parameters
        ----------
        connection_id : str

        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        CalendarSyncResponse
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.sync_org_calendar(
                connection_id="connection_id",
            )


        asyncio.run(main())
        """
        _response = await self._raw_client.sync_org_calendar(connection_id, request_options=request_options)
        return _response.data

    async def receive_calendar_webhook(
        self, *, request_options: typing.Optional[RequestOptions] = None
    ) -> typing.Dict[str, typing.Any]:
        """
        Receive push notifications from calendar providers.

        This is a system endpoint with no authentication — providers call this
        directly. Signature validation is done inside the handler.

        Parameters
        ----------
        request_options : typing.Optional[RequestOptions]
            Request-specific configuration.

        Returns
        -------
        typing.Dict[str, typing.Any]
            Successful Response

        Examples
        --------
        import asyncio

        from aitronos import AsyncAitronos

        client = AsyncAitronos(
            api_key="YOUR_API_KEY",
            token="YOUR_TOKEN",
        )


        async def main() -> None:
            await client.meeting_buddy_calendar.receive_calendar_webhook()


        asyncio.run(main())
        """
        _response = await self._raw_client.receive_calendar_webhook(request_options=request_options)
        return _response.data
