{
  "api": {
    "name": "CalendarPlugin",
    "slug": "calendarplugin",
    "docs": "",
    "tags": [],
    "methods": [
      {
        "name": "checkPermissions",
        "signature": "() => Promise<CalendarPermissionStatus>",
        "parameters": [],
        "returns": "Promise<CalendarPermissionStatus>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Returns the current calendar permission state without prompting.\n\nOn iOS 17+, `readCalendar` reflects full access; `writeCalendar` is also\ngranted by write-only access (\"Add Events Only\").",
        "complexTypes": [
          "CalendarPermissionStatus"
        ],
        "slug": "checkpermissions"
      },
      {
        "name": "requestPermissions",
        "signature": "(options?: RequestPermissionsOptions | undefined) => Promise<CalendarPermissionStatus>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "RequestPermissionsOptions | undefined"
          }
        ],
        "returns": "Promise<CalendarPermissionStatus>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Prompts for the given calendar permissions (both when omitted).\n\nOn iOS, requesting `readCalendar` prompts for full access; requesting only\n`writeCalendar` prompts for write-only access on iOS 17+.",
        "complexTypes": [
          "CalendarPermissionStatus",
          "RequestPermissionsOptions"
        ],
        "slug": "requestpermissions"
      },
      {
        "name": "createEvent",
        "signature": "(options: CreateEventOptions) => Promise<CreateEventResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "CreateEventOptions"
          }
        ],
        "returns": "Promise<CreateEventResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Creates a calendar event silently and resolves with its id.\n\nRequires write permission; requests it when not yet determined.",
        "complexTypes": [
          "CreateEventResult",
          "CreateEventOptions"
        ],
        "slug": "createevent"
      },
      {
        "name": "createEventInteractively",
        "signature": "(options: CreateEventOptions) => Promise<CreateEventResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "CreateEventOptions"
          }
        ],
        "returns": "Promise<CreateEventResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Opens the system event-editing UI prefilled with the given values.\nResolves when the user saves (with the new event's id where the platform\nprovides one; Android does not) and fails with `OS-PLUG-CLDR-0006` when\nthe user cancels.\n\nOn iOS 17+ the editor needs no calendar permission. On Android and older\niOS versions, write permission is requested first.",
        "complexTypes": [
          "CreateEventResult",
          "CreateEventOptions"
        ],
        "slug": "createeventinteractively"
      },
      {
        "name": "modifyEvent",
        "signature": "(options: ModifyEventOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "ModifyEventOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Updates the first event matching `filter` with the values in `newEvent`.\nOnly the fields present in `newEvent` are changed. Fails with\n`OS-PLUG-CLDR-0001` when no event matches.\n\nRequires read and write permission.",
        "complexTypes": [
          "ModifyEventOptions"
        ],
        "slug": "modifyevent"
      },
      {
        "name": "findEvents",
        "signature": "(options: FindEventsOptions) => Promise<FindEventsResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "FindEventsOptions"
          }
        ],
        "returns": "Promise<FindEventsResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Returns events matching the filter fields within the date range.\n`title`, `location` and `notes` match case-insensitive substrings;\n`calendarName` restricts the search to that calendar. A recurring\nevent is returned once per occurrence in the range, each with its\nown dates.\n\nRequires read permission.",
        "complexTypes": [
          "FindEventsResult",
          "FindEventsOptions"
        ],
        "slug": "findevents"
      },
      {
        "name": "deleteEvent",
        "signature": "(options: DeleteEventOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "DeleteEventOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Deletes events: by `id` when given, otherwise every event matching the\nfilter fields. Fails with `OS-PLUG-CLDR-0001` when nothing matches.\nDeleting a recurring event removes the entire series.\n\nRequires read and write permission.",
        "complexTypes": [
          "DeleteEventOptions"
        ],
        "slug": "deleteevent"
      },
      {
        "name": "listCalendars",
        "signature": "() => Promise<ListCalendarsResult>",
        "parameters": [],
        "returns": "Promise<ListCalendarsResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Returns the calendars available on the device.\n\nRequires read permission.",
        "complexTypes": [
          "ListCalendarsResult"
        ],
        "slug": "listcalendars"
      },
      {
        "name": "createCalendar",
        "signature": "(options: CreateCalendarOptions) => Promise<CreateCalendarResult>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "CreateCalendarOptions"
          }
        ],
        "returns": "Promise<CreateCalendarResult>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Creates a calendar and resolves with its id.\n\nRequires write permission.",
        "complexTypes": [
          "CreateCalendarResult",
          "CreateCalendarOptions"
        ],
        "slug": "createcalendar"
      },
      {
        "name": "deleteCalendar",
        "signature": "(options: DeleteCalendarOptions) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "DeleteCalendarOptions"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Deletes the calendar with the given name. Fails with\n`OS-PLUG-CLDR-0001` when no calendar has that name.\n\nRequires read and write permission.",
        "complexTypes": [
          "DeleteCalendarOptions"
        ],
        "slug": "deletecalendar"
      },
      {
        "name": "openCalendar",
        "signature": "(options?: OpenCalendarOptions | undefined) => Promise<void>",
        "parameters": [
          {
            "name": "options",
            "docs": "",
            "type": "OpenCalendarOptions | undefined"
          }
        ],
        "returns": "Promise<void>",
        "tags": [
          {
            "name": "since",
            "text": "1.0.0"
          }
        ],
        "docs": "Opens the system calendar app at the given date (today when omitted).\nNeeds no calendar permission.",
        "complexTypes": [
          "OpenCalendarOptions"
        ],
        "slug": "opencalendar"
      }
    ],
    "properties": []
  },
  "interfaces": [
    {
      "name": "CalendarPermissionStatus",
      "slug": "calendarpermissionstatus",
      "docs": "Permission state per calendar permission.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "readCalendar",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Permission to read calendar events.",
          "complexTypes": [
            "PermissionState"
          ],
          "type": "PermissionState"
        },
        {
          "name": "writeCalendar",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Permission to add events to the calendar.",
          "complexTypes": [
            "PermissionState"
          ],
          "type": "PermissionState"
        }
      ]
    },
    {
      "name": "RequestPermissionsOptions",
      "slug": "requestpermissionsoptions",
      "docs": "Options accepted by {@link CalendarPlugin.requestPermissions}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "permissions",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The permissions to request. Both are requested when omitted.",
          "complexTypes": [
            "CalendarPermissionType"
          ],
          "type": "CalendarPermissionType[] | undefined"
        }
      ]
    },
    {
      "name": "CreateEventResult",
      "slug": "createeventresult",
      "docs": "Result of {@link CalendarPlugin.createEvent} and\n{@link CalendarPlugin.createEventInteractively}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The created event's id. Absent when the platform does not report it\n(Android's interactive editor).",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "CreateEventOptions",
      "slug": "createeventoptions",
      "docs": "Options accepted by {@link CalendarPlugin.createEvent} and\n{@link CalendarPlugin.createEventInteractively}, and the new values of\n{@link CalendarPlugin.modifyEvent}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "title",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The event title.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "location",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The event location.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "notes",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Free-form event notes.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "startDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Event start as epoch milliseconds.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "endDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Event end as epoch milliseconds.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "isAllDay",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Whether the event lasts all day.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "calendarId",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Id of the calendar to create the event in. Takes precedence over\n`calendarName`; the default calendar is used when neither is set.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "calendarName",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Name of the calendar to create the event in.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "url",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "URL attached to the event.\n\n**Android:** the platform's event model has no URL field; the value is\nignored.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "firstReminderMinutes",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Minutes before the event for the first reminder.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "secondReminderMinutes",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Minutes before the event for the second reminder.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "recurrence",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Recurrence rule for a repeating event.",
          "complexTypes": [
            "EventRecurrence"
          ],
          "type": "EventRecurrence"
        }
      ]
    },
    {
      "name": "EventRecurrence",
      "slug": "eventrecurrence",
      "docs": "Recurrence rule applied to a created event.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "frequency",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "How often the event repeats.",
          "complexTypes": [
            "RecurrenceFrequency"
          ],
          "type": "RecurrenceFrequency"
        },
        {
          "name": "interval",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Repeat every `interval` periods of `frequency` (default 1).",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "endDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Last possible date of a repetition, as epoch milliseconds. Mutually\nexclusive with `count`; `endDate` wins when both are set.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "count",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Total number of repetitions.",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    },
    {
      "name": "ModifyEventOptions",
      "slug": "modifyeventoptions",
      "docs": "Options accepted by {@link CalendarPlugin.modifyEvent}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "filter",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Fields identifying the event to change.",
          "complexTypes": [
            "EventFilter"
          ],
          "type": "EventFilter"
        },
        {
          "name": "newEvent",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "New values to apply. Only the fields present are changed.",
          "complexTypes": [
            "Partial",
            "CreateEventOptions"
          ],
          "type": "Partial<CreateEventOptions>"
        }
      ]
    },
    {
      "name": "EventFilter",
      "slug": "eventfilter",
      "docs": "Fields used to locate the event to change in\n{@link CalendarPlugin.modifyEvent}. Set fields must all match.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "title",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Title substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "location",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Location substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "notes",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Notes substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "startDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Start of the date range as epoch milliseconds.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "endDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "End of the date range as epoch milliseconds.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "calendarName",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Restrict the match to the calendar with this name.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "FindEventsResult",
      "slug": "findeventsresult",
      "docs": "Result of {@link CalendarPlugin.findEvents}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "events",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The events matching the search.",
          "complexTypes": [
            "CalendarEvent"
          ],
          "type": "CalendarEvent[]"
        }
      ]
    },
    {
      "name": "CalendarEvent",
      "slug": "calendarevent",
      "docs": "A calendar event.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Platform-assigned event id.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "title",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The event title.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "location",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The event location.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "notes",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Free-form event notes.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "startDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Event start as epoch milliseconds.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "endDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Event end as epoch milliseconds.",
          "complexTypes": [],
          "type": "number"
        },
        {
          "name": "isAllDay",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Whether the event lasts all day.",
          "complexTypes": [],
          "type": "boolean | undefined"
        },
        {
          "name": "calendarId",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Id of the calendar containing the event.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "calendarName",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Name of the calendar containing the event.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "attendees",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The event's attendees. Absent when the event has none.",
          "complexTypes": [
            "EventAttendee"
          ],
          "type": "EventAttendee[] | undefined"
        }
      ]
    },
    {
      "name": "EventAttendee",
      "slug": "eventattendee",
      "docs": "An attendee of a {@link CalendarEvent}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "name",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The attendee's display name.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "email",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The attendee's email address.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "status",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The attendee's participation status.",
          "complexTypes": [],
          "type": "'unknown' | 'pending' | 'accepted' | 'declined' | 'tentative' | 'delegated' | 'completed' | 'in-process'"
        }
      ]
    },
    {
      "name": "FindEventsOptions",
      "slug": "findeventsoptions",
      "docs": "Options accepted by {@link CalendarPlugin.findEvents}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "title",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Title substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "location",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Location substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "notes",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Notes substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "startDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Start of the search range as epoch milliseconds. Defaults to the current\ntime minus six months.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "endDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "End of the search range as epoch milliseconds. Defaults to the current\ntime plus two years.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "calendarName",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Restrict the search to the calendar with this name.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "DeleteEventOptions",
      "slug": "deleteeventoptions",
      "docs": "Options accepted by {@link CalendarPlugin.deleteEvent}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Id of the event to delete. When set, the filter fields are ignored.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "fromDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Only with `id`, for a recurring event: keeps occurrences before this\ndate (epoch milliseconds) and removes the rest of the series.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "title",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Title substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "location",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Location substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "notes",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Notes substring to match (case-insensitive).",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "startDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Start of the date range as epoch milliseconds.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "endDate",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "End of the date range as epoch milliseconds.",
          "complexTypes": [],
          "type": "number | undefined"
        },
        {
          "name": "calendarName",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Restrict the match to the calendar with this name.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "ListCalendarsResult",
      "slug": "listcalendarsresult",
      "docs": "Result of {@link CalendarPlugin.listCalendars}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "calendars",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The calendars on the device.",
          "complexTypes": [
            "DeviceCalendar"
          ],
          "type": "DeviceCalendar[]"
        }
      ]
    },
    {
      "name": "DeviceCalendar",
      "slug": "devicecalendar",
      "docs": "A calendar available on the device.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Platform-assigned calendar id.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "name",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The calendar name.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "displayName",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Name shown to the user, when the platform distinguishes it from `name`.",
          "complexTypes": [],
          "type": "string | undefined"
        },
        {
          "name": "isPrimary",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Whether this is the default calendar for new events.",
          "complexTypes": [],
          "type": "boolean | undefined"
        }
      ]
    },
    {
      "name": "CreateCalendarResult",
      "slug": "createcalendarresult",
      "docs": "Result of {@link CalendarPlugin.createCalendar}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "id",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The created calendar's id.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "CreateCalendarOptions",
      "slug": "createcalendaroptions",
      "docs": "Options accepted by {@link CalendarPlugin.createCalendar}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "name",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "The calendar name.",
          "complexTypes": [],
          "type": "string"
        },
        {
          "name": "color",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Calendar color as a `#RRGGBB` hex string. The platform picks one when\nomitted.",
          "complexTypes": [],
          "type": "string | undefined"
        }
      ]
    },
    {
      "name": "DeleteCalendarOptions",
      "slug": "deletecalendaroptions",
      "docs": "Options accepted by {@link CalendarPlugin.deleteCalendar}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "name",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Name of the calendar to delete.",
          "complexTypes": [],
          "type": "string"
        }
      ]
    },
    {
      "name": "OpenCalendarOptions",
      "slug": "opencalendaroptions",
      "docs": "Options accepted by {@link CalendarPlugin.openCalendar}.",
      "tags": [
        {
          "text": "1.0.0",
          "name": "since"
        }
      ],
      "methods": [],
      "properties": [
        {
          "name": "date",
          "tags": [
            {
              "text": "1.0.0",
              "name": "since"
            }
          ],
          "docs": "Date to show, as epoch milliseconds. Today when omitted.",
          "complexTypes": [],
          "type": "number | undefined"
        }
      ]
    }
  ],
  "enums": [],
  "typeAliases": [
    {
      "name": "PermissionState",
      "slug": "permissionstate",
      "docs": "",
      "types": [
        {
          "text": "'prompt'",
          "complexTypes": []
        },
        {
          "text": "'prompt-with-rationale'",
          "complexTypes": []
        },
        {
          "text": "'granted'",
          "complexTypes": []
        },
        {
          "text": "'denied'",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "CalendarPermissionType",
      "slug": "calendarpermissiontype",
      "docs": "The individually requestable calendar permissions.",
      "types": [
        {
          "text": "'readCalendar'",
          "complexTypes": []
        },
        {
          "text": "'writeCalendar'",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "RecurrenceFrequency",
      "slug": "recurrencefrequency",
      "docs": "How often a recurring event repeats.",
      "types": [
        {
          "text": "'daily'",
          "complexTypes": []
        },
        {
          "text": "'weekly'",
          "complexTypes": []
        },
        {
          "text": "'monthly'",
          "complexTypes": []
        },
        {
          "text": "'yearly'",
          "complexTypes": []
        }
      ]
    },
    {
      "name": "Partial",
      "slug": "partial",
      "docs": "Make all properties in T optional",
      "types": [
        {
          "text": "{\r\n    [P in keyof T]?: T[P];\r\n}",
          "complexTypes": [
            "T",
            "P"
          ]
        }
      ]
    }
  ],
  "pluginConfigs": []
}